日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转】带你玩转Visual Studio——04.带你高效开发

發布時間:2023/12/10 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】带你玩转Visual Studio——04.带你高效开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一篇文章帶你玩轉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 StringMeaning樣例或說明
DateDATEDATEYear/month/day formatted as %04d/%02d/%02d2015/10/02
?DATELOCALEDATELOCALECurrent date in locale format本地化格式境
?DAYDAYDay of month formatted as %d2
?DAY02DAY02Day of month formatted as %02d02
?DAYNAMEDAYNAMEDay abbreviation in locale format//Fri
?DAYLONGNAMEDAYLONGNAMEFull name of day in locale format//Friday
?MONTHMONTHMonth formatted as %d10
?MONTH02MONTH02Month formatted as %02d10
?MONTHNAMEMONTHNAMEMonth abbreviation in locale formatOct
?MONTHLONGNAMEMONTHLONGNAMEFull name of month in locale formatOctober
?YEARYEARYear formatted as %d2015
?YEAR02YEAR02Year formatted as %02d15
TimeHOURHOURHour formatted as %d16
?HOUR02HOUR02Hour formatted as %02d16
?MINUTEMINUTEMinute formatted as %02d29
?SECONDSECONDSecond formatted as %02d30
FileFILEFILEFull filename with path*D:\CppWorkspace\DesignPattern\DesignPattern\Water.h
?FILEUPPERFILEUPPERFull filename with path in uppercase*D:\CPPWORKSPACE\DESIGNPATTERN\DESIGNPATTERN\WATER.H
?FILEBASEFILEBASEFilename without path or extension*Water
?FILEBASEUPPERFILEBASEUPPERFilename without path or extension in upper case*WATER
?FILEEXTFILEEXTFilename extension*h
?FILEEXTUPPERFILEEXTUPPERFilename extension in upper case*H
?FILEPATHFILEPATHPath of file*D:\CppWorkspace\DesignPattern\DesignPattern
?FILEPATHUPPERFILEPATHUPPERPath of file in upper case*D:\CPPWORKSPACE\DESIGNPATTERN\DESIGNPATTERN
GeneralclipboardclipboardCurrent clipboard當前剪貼板內容
?endendPosition of caret after expansion輸入完成光標位置
?selectedselectedCurrent selection**選定內容
?$$Literal ‘$’ character$轉義
Symbol ContextMethodNameMethodNameName of containing method?
?MethodArgsMethodArgsMethod parameters函數參數列表
?ClassNameClassNameName of containing class類名稱
?BaseClassNameBaseClassNameName of base class of containing class基類名稱
?NamespaceNameNamespaceNameFully qualified namespace name命名空間
GUIDGUIDDEFINITIONGUIDDEFINITIONGenerated GUID formatted for use in a definitionGUID定義,“,”分割
?GUIDSTRINGGUIDSTRINGGenerated GUID formatted for use in a stringGUID字符串,“-”分割
?GUIDSTRUCTGUIDSTRUCTGenerated GUID formatted for use in a structGUID結構
?GUIDSYMBOLGUIDSYMBOLGenerated GUID formatted with underscoresGUID符號,”_”分割
?GUIDSTRINGUPPERGUIDSTRINGUPPERUppercase version of?GUIDSTRINGGUIDSTRING
?GUIDSTRUCTUPPERGUIDSTRUCTUPPERUppercase version of?GUIDSTRUCTGUIDSTRUCT
?GUIDSYMBOLUPPERGUIDSYMBOLUPPERUppercase version of?GUIDSYMBOLGUIDSYMBOL
?The following reserved strings are available only in refactoring snippets??
RefactorGeneratedPropertyNameGeneratedPropertyNameProperty name generated during Encapsulate Field與類屬性同名的訪問方法,首字符大寫(類似Java中的Set/Get方法)
?generatedPropertyNamegeneratedPropertyNameSame as?GeneratedPropertyNameGeneratedPropertyName?but with lower-case first letter與類屬性同名的訪問方法,首字符小寫
?MethodArgMethodArgOne parameter of the method and its type不可用
?MethodArgNameMethodArgNameOne parameter of the method方法參數
?MethodArgTypeMethodArgTypeType of one parameter of the method函數體
?MethodBodyMethodBodyBody of implementation函數體
?MethodQualifierMethodQualifierOptional qualifiers of method尚不清楚
?ParameterListParameterListParameters separated by commas參數列表
?SymbolContextSymbolContextContext and name of method函數全名(含類信息等)
?SymbolNameSymbolNameName of method函數名稱
?SymbolPrivilegesSymbolPrivilegesAccess of method訪問控制
?SymbolStaticSymbolStaticKeyword static or blankstatic
?SymbolTypeSymbolTypeReturn type of method函數返回類型
?SymbolVirtualSymbolVirtualKeyword virtual or blankvirtual


上一篇回顧:
帶你玩轉Visual Studio——帶你了解VC++各種類型的工程

下一篇要講述的內容:
帶你玩轉Visual Studio——帶你高效管理代碼

總結

以上是生活随笔為你收集整理的【转】带你玩转Visual Studio——04.带你高效开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。