1. 程式人生 > >帶你玩轉Visual Studio——帶你高效開發--番茄助手使用

帶你玩轉Visual Studio——帶你高效開發--番茄助手使用

有過Java開發經驗的人都知道Java的常用開發工具(如Eclipse、Intellij IDEA等)都有非常強大的關鍵字高亮、智慧提示、快速追蹤等的功能。那也許你就要問了:進行C++開發的Visual Studio是否也有這個功能呢?首先要說明的是Visual Studio本身並沒有這麼強大的功能(至少VS2010及之前版本是這樣的,有一些簡單的程式碼跟蹤能力但是很難用),但它有一個非常強大和好用的外掛有這些功能,它就量VassistX,也稱為VC助手,它就是本文要講的內容。

VassistX的簡單介紹與下載安裝

簡單介紹

VassistX的全稱是Visual Assist X,是whole tomato開發的一個非常好用的外掛,可用於VC6.0及Visual Studio的各個版本(包括VS.NET2002、VS.NET2003、VS2005、VS2008、VS2010、VS2012、VS2013及VS2015)。

VassistX有以下主要功能: 
智慧提示:關鍵字的提示,已有類名、方法名的提示,類成員(成員資料和成員函式)的提示; 
程式碼高亮:關鍵字、類名、方法名等用不同的顏色進行高亮,方便程式碼的閱讀; 
快速追蹤:宣告與實現的快速跳轉,.cpp與.h檔案的快速切換; 
高效查詢:檔名的查詢,識別符號的查詢,識別符號補引用的查詢; 
程式碼重構:重新命名識別符號(變數名、方法名、類名等,這個非常有用),自動新增成員變數的Set/Get方法,自動新增函式的註釋等。

下載與安裝

下載:

安裝:

安裝非常簡單,你只需要點選VA_X_Setupxxxx.exe進行預設安裝即可,這沒什麼要說的。

註冊碼

還是那句話:自己想辦法(以後都不再進行說明),如果有錢還是支援正版,畢竟作為程式設計師的我們應該知道寫一個好的程式不容易。

VassistX的使用指南

1.通過“Tip of the day”快速學習。

在你安裝VassistX後,啟動VS時,會有一個幫助提示(如下圖),這是你快速學習VassistX的最好方式,還有小動畫提示,一看就懂。如果你看不懂英文,看小動畫也能明白怎麼回事。 

tip of the day 
圖 1:tip of the day

如果你不希望每次啟動VS時都彈出這個對話方塊,只需把左下角的”Show tips at startup”的勾選去掉就可以。如果需要再次彈出對話,在選單中選擇VassitX\Visual Assist X Option…–>Starup,把Show tip of the day勾選上即可。

2.主要視窗和工具

外掛裝上之後你應該就能感覺比以前好多了,比如程式碼高亮啊,智慧提示啊,應該立馬就能體現出來。但這還是要簡單介紹一下。

視窗檢視 
圖 2:視窗檢視

外掛成功安裝之後,選單欄會多一個VassistX的選單,這裡包含了VassistX的所有功能和相關的設定,設定方面後面還會進一步講。 
左側會有兩個VA Outline和VA View檢視(如果沒有,可能選單VassistX\Tools\VA Outline調出來)。VA Outline這個檢視很有用,也是我用的最多的一個檢視,它能清晰地呈現一個類中的各個成員。 
工具欄也會多一個VassistX工具組。這個我用的最多的要數最右邊的.h與.cpp的切換按鈕。

3常用的快捷鍵

這裡只列出一些最常用的快捷鍵,一般記住這些也就夠用了。

快捷鍵 說明 備註
Alt+G 快速跳轉,如由宣告跳轉到實現,由實現跳轉到宣告。 游標要在識別符號處
Alt+O .h與.cpp檔案的快速切換
Alt+Shift+F 查詢識別符號所有被引用的位置 游標要在識別符號處
Alt+Shift+O 查詢整個Solution下的某個檔案 O指open,開啟指定的檔案
Alt+Shift+S 查詢識別符號 S指Symbol
Alt+Shift+R 重新命名識別符號 游標要在識別符號處,R指ReName
Ctrl+Shift+V 選擇剪下板的內容進行貼上

更改快捷鍵

選單Tools\Option…,然後在開啟的對話方塊中選擇Keyboard,Show commands containning中輸入VAssistX就能看到VAssistX的各種功能,你可以設定某一指定功能的快捷鍵。如你輸入VAssistX.refactorRename,就能看到重新命名的預設快捷鍵是Shift+Alt+R,你在Press shortcut keys中按下快捷鍵更改它。 

設定快捷鍵 
圖 3:設定快捷鍵

VassistX的高效開發的屬性配製

選項設定

VassistX有些預設設定並不太友好,我們可以自己重新設定它。在選單中選擇VassitX\Visual Assist X Option…開啟設定對話方塊。以下是我個人的偏好設定,僅作參考(只說明一些關鍵設定的含義)。

設定1 
圖 4:設定1

1.拼寫錯誤檢測(這個不要選,不然老會有紅色的波浪線提示); 
2.型別錯誤檢測(這個選上,可以測試你的變數型別是否正確);
設定2 
圖 5:設定2

1.高亮引用的識別符號(設定顏色,一個當前詞的顏色,一個是非當前詞的顏色); 
2.自動高亮當前游標所在處識別符號 
3.高亮查詢引用的結果; 
4.高亮重新命名識別符號時關聯的變數;
設定3 
圖 6:設定3

1.(黑色)高亮匹配的括號; 
2.(紅色)高亮不匹配的括號; 
3.高亮當前游標所在的行(可選擇高亮前景或高亮背景); 
4.縱向指示器的分隔線,一般用於控制一行程式碼的字元數; 
5.高亮查詢結果。

註釋配製與自動新增程式碼

註釋也是程式的一個重要組成部分之一,好的註釋是提高程式碼的可讀性和程式的可維護性的一個關鍵因素,而要寫大量的註釋是一件非常繁瑣的事情,給程式設計師增加了不少負擔,而VAsssistX就可能幫我們減輕這種負擔。將游標移到函式名處,右鍵滑鼠選擇Refactor\Document Method可自動幫我們新增函式的註釋。

我們可以自己配製自定義的註釋格式。選擇選單:VAssistX\Insert VA Snippet…\Edit VA Snippet…進行設定。給出我的相關設定,僅作參考:

Title: File header detailed 
Shortcut: fh 
Description: 對整個檔案進行註釋

//===============================================================
//Summary:
//          $FILE_BASE$ 類, $end$
//FileName:
//          $FILE_BASE$.$FILE_EXT$
//Remarks:
//          ...
//Date:
//          $YEAR$/$MONTH$/$DAY$
//Author:
//          %USERNAME%([email protected])
//===============================================================
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

說明:兩個$符號之間的內容都是VAssistX中定義的巨集,參見文後的附錄:Visual Assist X Snippets 巨集

Title: Refactor Document Method 
Shortcut: 
Description: 對函式進行註釋

//---------------------------------------------------------------
//function: 
//          $SymbolName$ $end$
//Access:
//          $SymbolVirtual$ $SymbolPrivileges$ $SymbolStatic$
//Parameter:
//          [in] $MethodArg$ - 
//Returns:
//          $SymbolType$ - 
//Remarks:
//          ...
//author:    %USERNAME%[luoweifu]
//---------------------------------------------------------------
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

Title: #ifndef … #endif 
Shortcut: #ifn 
Description: 防止標頭檔案重複包含

#ifndef __$FILE_BASE_UPPER$_H__
#define __$FILE_BASE_UPPER$_H__
$end$
#endif  //__$FILE_BASE_UPPER$_H__
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

Title: Refactor Encapsulate Field 
Shortcut: 
Description: 新增類中成員變數的Get/Set方法。

    $end$$SymbolType$ Get$GeneratedPropertyName$() const
    {
        return $SymbolName$;
    }
    void Set$GeneratedPropertyName$($SymbolType$ val)
    {
        $SymbolName$ = val;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Title: 
Shortcut: //- 
Description: 用於某一個重要修改的註釋,並記錄修改時間。

// $end$ [$YEAR$/$MONTH$/$DAY$ %USERNAME%]
  • 1
  • 1

Title: 
Shortcut: /// 
Description: 分隔線,用於重要的程式碼塊的分隔。

//===============================================================
$end$
  • 1
  • 2
  • 1
  • 2