上一篇文章帶你玩轉Visual Studio——帶你瞭解VC++各種類型的工程一文中講了各種類型VC++工程的主要功能和用途。現在將帶你一起快速開發c++程式。
有過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方法,自動添加函數的注釋等。 下載與安裝 下載:
官方下載地址:http://www.wholetomato.com/downloads/default.asp
你也可以到中文的一些網站去下載,網上一搜一大片。 安裝:
安裝非常簡單,你只需要點擊VA_X_Setupxxxx.exe進行預設安裝即可,這沒什麼要說的。 註冊碼
還是那句話:自己想辦法(以後都不再進行說明),如果有錢還是支援正版,畢竟作為程式員的我們應該知道寫一個好的程式不容易。 VassistX的使用指南 1.通過“Tip of the day”快速學習。
在你安裝VassistX後,啟動VS時,會有一個協助提示(如下圖),這是你快速學習VassistX的最好方式,還有小動畫提示,一看就懂。如果你看不懂英文,看小動畫也能明白怎麼回事。
圖 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…開啟設定對話方塊。以下是我個人的喜好設定,僅作參考(只說明一些關鍵設定的含義)。
圖 4:設定1
1.拼字錯誤偵測(這個不要選,不然老會有紅色的波浪線提示);
2.類型錯誤偵測(這個選上,可以測試你的變數類型是否正確);
圖 5:設定2
1.高亮引用的標識符(設定顏色,一個當前詞的顏色,一個是非當前詞的顏色);
2.自動高亮當前游標所在處標識符
3.高亮尋找引用的結果;
4.高亮重新命名標識符時關聯的變數;
圖 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%(luoweifu@126.com)//===============================================================
說明:兩個$符號之間的內容都是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]//---------------------------------------------------------------
Title: #ifndef … #endif
Shortcut: #ifn
Description: 防止標頭檔重複包含
#ifndef __$FILE_BASE_UPPER$_H__#define __$FILE_BASE_UPPER$_H__$end$#endif //__$FILE_BASE_UPPER$_H__
Title: Refactor Encapsulate Field
Shortcut:
Description: 添加類中成員變數的Get/Set方法。
$end$$SymbolType$ Get$GeneratedPropertyName$() const { return $SymbolName$; } void Set$GeneratedPropertyName$($SymbolType$ val) { $SymbolName$ = val; }
Title:
Shortcut: //-
Description: 用於某一個重要修改的注釋,並記錄修改時間。
// $end$ [$YEAR$/$MONTH$/$DAY$ %USERNAME%]
Title:
Shortcut: ///
Description: 分隔線,用於重要的代碼塊的分隔。
//===============================================================$end$
附錄
Visual Assist X Snippets 宏
. |
Reserved String |
Meaning |
範例或說明 |
Date |
DATE DATE |
Year/month/day formatted as %04d/%02d/%02d |
2015/10/02 |
|
DATELOCALE DATE_LOCALE |
Current date in locale format |
本地化格式境 |
|
DAY DAY |
Day of month formatted as %d |
2 |
|
DAY02 DAY_02 |
Day of month formatted as %02d |
02 |
|
DAYNAME DAYNAME |
Day abbreviation in locale format |
//Fri |
|
DAYLONGNAME DAYLONGNAME |
Full name of day in locale format |
//Friday |
|
MONTH MONTH |
Month formatted as %d |
10 |
|
MONTH02 MONTH_02 |
Month formatted as %02d |
10 |
|
MONTHNAME MONTHNAME |
Month abbreviation in locale format |
Oct |
|
MONTHLONGNAME |