上一篇文章帶你玩轉(zhuǎn) Visual Studio——帶你了解 VC++各種類型的工程一文中講了各種類型 VC++ 工程的主要功能和用途?,F(xiàn)在將帶你一起快速開發(fā) c++程序。
有過 Java 開發(fā)經(jīng)驗(yàn)的人都知道 Java 的常用開發(fā)工具(如 Eclipse、Intellij IDEA 等)都有非常強(qiáng)大的關(guān)鍵字高亮、智能提示、快速追蹤等的功能。那也許你就要問了:進(jìn)行 C++ 開發(fā)的 Visual Studio 是否也有這個(gè)功能呢?首先要說明的是 Visual Studio 本身并沒有這么強(qiáng)大的功能(至少 VS2010 及之前版本是這樣的,有一些簡單的代碼跟蹤能力但是很難用),但它有一個(gè)非常強(qiáng)大和好用的插件有這些功能,它就量 VassistX ,也稱為 VC 助手,它就是本文要講的內(nèi)容。
簡單介紹
VassistX 的全稱是 Visual Assist X,是 whole tomato 開發(fā)的一個(gè)非常好用的插件,可用于 VC6.0 及 Visual Studio 的各個(gè)版本(包括 VS.NET2002、VS.NET2003、VS2005、VS2008、VS2010、VS2012、VS2013 及 VS2015 )。
VassistX 有以下主要功能: 智能提示:關(guān)鍵字的提示,已有類名、方法名的提示,類成員(成員數(shù)據(jù)和成員函數(shù))的提示; 代碼高亮:關(guān)鍵字、類名、方法名等用不同的顏色進(jìn)行高亮,方便代碼的閱讀; 快速追蹤:聲明與實(shí)現(xiàn)的快速跳轉(zhuǎn),.cpp 與.h 文件的快速切換; 高效查找:文件名的查找,標(biāo)識符的查找,標(biāo)識符補(bǔ)引用的查找; 代碼重構(gòu):重命名標(biāo)識符(變量名、方法名、類名等,這個(gè)非常有用),自動添加成員變量的 Set/Get 方法,自動添加函數(shù)的注釋等。
下載與安裝
下載:
官方下載地址:http://www.wholetomato.com/downloads/default.asp 你也可以到中文的一些網(wǎng)站去下載,網(wǎng)上一搜一大片。
安裝:
安裝非常簡單,你只需要點(diǎn)擊 VA_X_Setupxxxx.exe 進(jìn)行默認(rèn)安裝即可,這沒什么要說的。
注冊碼
還是那句話:自己想辦法(以后都不再進(jìn)行說明),如果有錢還是支持正版,畢竟作為程序員的我們應(yīng)該知道寫一個(gè)好的程序不容易。
在你安裝 VassistX 后,啟動 VS 時(shí),會有一個(gè)幫助提示(如下圖),這是你快速學(xué)習(xí) VassistX 的最好方式,還有小動畫提示,一看就懂。如果你看不懂英文,看小動畫也能明白怎么回事。
http://wiki.jikexueyuan.com/project/visual-studio/images/12.png" alt="" />
如果你不希望每次啟動 VS 時(shí)都彈出這個(gè)對話框,只需把左下角的 ”Show tips at startup” 的勾選去掉就可以。如果需要再次彈出對話,在菜單中選擇 VassitX\Visual Assist X Option…–>Starup,把 Show tip of the day 勾選上即可。
插件裝上之后你應(yīng)該就能感覺比以前好多了,比如代碼高亮啊,智能提示啊,應(yīng)該立馬就能體現(xiàn)出來。但這還是要簡單介紹一下。
http://wiki.jikexueyuan.com/project/visual-studio/images/13.png" alt="" />
插件成功安裝之后,菜單欄會多一個(gè) VassistX 的菜單,這里包含了 VassistX 的所有功能和相關(guān)的設(shè)置,設(shè)置方面后面還會進(jìn)一步講。 左側(cè)會有兩個(gè) VA Outline 和 VA View 視圖(如果沒有,可能菜單 VassistX\Tools\VA Outline 調(diào)出來)。VA Outline 這個(gè)視圖很有用,也是我用的最多的一個(gè)視圖,它能清晰地呈現(xiàn)一個(gè)類中的各個(gè)成員。 工具欄也會多一個(gè) VassistX 工具組。這個(gè)我用的最多的要數(shù)最右邊的 .h 與.cpp 的切換按鈕。
這里只列出一些最常用的快捷鍵,一般記住這些也就夠用了。
http://wiki.jikexueyuan.com/project/visual-studio/images/14.png" alt="" />
更改快捷鍵
菜單 Tools\Option…,然后在打開的對話框中選擇 Keyboard,Show commands containning 中輸入 VAssistX 就能看到 VAssistX 的各種功能,你可以設(shè)置某一指定功能的快捷鍵。如你輸入 VAssistX.refactorRename,就能看到重命名的默認(rèn)快捷鍵是 Shift+Alt+R,你在 Press shortcut keys 中按下快捷鍵更改它。
http://wiki.jikexueyuan.com/project/visual-studio/images/15.png" alt="" />
選項(xiàng)設(shè)置
VassistX 有些默認(rèn)設(shè)置并不太友好,我們可以自己重新設(shè)置它。在菜單中選擇 VassitX\Visual Assist X Option…打開設(shè)置對話框。以下是我個(gè)人的偏好設(shè)置,僅作參考(只說明一些關(guān)鍵設(shè)置的含義)。
http://wiki.jikexueyuan.com/project/visual-studio/images/16.png" alt="" />
http://wiki.jikexueyuan.com/project/visual-studio/images/17.png" alt="" />
http://wiki.jikexueyuan.com/project/visual-studio/images/18.png" alt="" />
注釋也是程序的一個(gè)重要組成部分之一,好的注釋是提高代碼的可讀性和程序的可維護(hù)性的一個(gè)關(guān)鍵因素,而要寫大量的注釋是一件非常繁瑣的事情,給程序員增加了不少負(fù)擔(dān),而 VAsssistX 就可能幫我們減輕這種負(fù)擔(dān)。將光標(biāo)移到函數(shù)名處,右鍵鼠標(biāo)選擇 Refactor\Document Method 可自動幫我們添加函數(shù)的注釋。
我們可以自己配制自定義的注釋格式。選擇菜單:VAssistX\Insert VA Snippet…\Edit VA Snippet…進(jìn)行設(shè)置。給出我的相關(guān)設(shè)置,僅作參考:
Title: File header detailed Shortcut: fh Description: 對整個(gè)文件進(jìn)行注釋
//===============================================================
//Summary:
// $FILE_BASE$ 類, $end$
//FileName:
// $FILE_BASE$.$FILE_EXT$
//Remarks:
// ...
//Date:
// $YEAR$/$MONTH$/$DAY$
//Author:
// %USERNAME%(luoweifu@126.com)
//===============================================================
說明:兩個(gè)$
符號之間的內(nèi)容都是 VAssistX 中定義的宏,參見文后的附錄:Visual Assist X Snippets 宏
Title: Refactor Document Method Shortcut: Description: 對函數(shù)進(jìn)行注釋
//---------------------------------------------------------------
//function:
// $SymbolName$ $end$
//Access:
// $SymbolVirtual$ $SymbolPrivileges$ $SymbolStatic$
//Parameter:
// [in] $MethodArg$ -
//Returns:
// $SymbolType$ -
//Remarks:
// ...
//author: %USERNAME%[luoweifu]
//---------------------------------------------------------------
Title: #ifndef … #endif Shortcut: #ifn Description: 防止頭文件重復(fù)包含
#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: 用于某一個(gè)重要修改的注釋,并記錄修改時(shí)間。
//===============================================================
$end$
Visual Assist X Snippets 宏
http://wiki.jikexueyuan.com/project/visual-studio/images/19.png" alt="" />