一.IDE基礎(chǔ)配置
1. 字體
VC6中“Tools→Options→Format→Font”配置字體;VC2005中“工具→選項→環(huán)境→字體和顏色”配置字體。
編寫代碼一般采用等寬字體,等寬點陣(位圖)字體,相對矢量字體而言具有兼容性好和顯示清晰的優(yōu)點。常用的編程等寬字體包括Fixedsys(VC6和notepad御用字體)、Consolas、YaHei Mono。
VC6默認可選字體只有Fixedsys和Terminal,可通過修改注冊表來改字體,在HKEY_CURRENT_USER/Software/Microsoft/DevStudio/6.0/Format下面有幾個子鍵,可以修改Source Window鍵的FontFace和FontSize來配置源代碼窗口的顯示字體。例如設(shè)置11號的Consolas字體:FontFace=Consolas,FontSize=11。
2. 制表符(TAB)
程序塊要采用縮進風格編寫,IDE碰到左括號換行的情況一般會自動縮進(Auto Indent),縮進的空格數(shù)和制表符的寬度一般設(shè)為4個半角字符。由于不同的編輯器對TAB空格數(shù)的設(shè)置可能不一樣,有的是4有的是8,為避免使用不同的編輯器閱讀程序時的布局不整齊問題,建議只使用空格鍵對齊。
VC6中“Tools→Options→Tabs”的“Insert spaces/Keep tabs”中選擇“Insert spaces”;VC2005中“工具→選項→文本編輯器→所有語言→制表符”可配置制表符大小(Tab Size)/縮進大?。?/span>Indent Size)為4,對“插入空格/保留制表符”勾選“插入空格”。
3. 行代碼字符數(shù)
關(guān)于一行編寫多少代碼換行比較合適的問題,可以在VC中輸入一行”//”即可得知,一般為75或80。
4.外接插件和外部工具
外接插件能擴展Visual Studio的功能,例如VC6默認并無行號顯示功能,可以使用VC6LineNumberAddin插件實現(xiàn)顯示行號,“Tools -> Customize→Add-ins and Macro Files”選擇“Browse”進VC6LineNumberAddin.dll即可加載使用。我們在VC2005的“工具→外接程序管理器”中可以看到安裝的“Visual Assist X”插件,并可選擇啟用與否。
外部工具主要是結(jié)合IDE使用,如使用AStyle格式化當前打開的代碼文件,使用gedit打開當前代碼文件。外部工具的配置很簡單,VC6中通過“Tools→Customize→Tools”添加,VC2005中通過“工具→外部工具”添加。
以下為AStyle的配置:
標題:AStyle
命令:C:/Program Files/Microsoft Visual Studio 8/Common7/Tools/AStyle.exe
參數(shù):--style=ansi $(ItemFileName)$(ItemExt)
初始目錄:$(ItemDir)
勾選“使用輸出窗口”。
這樣,“工具菜單”中新增一個“AStyle”的子項,點擊“AStyle”即可按ANSI風格格式化當前文件代碼。
5. IDE指定和打開多個項目
Q1:安裝VS2005后,之前的VC6默認打開程序和圖標都變更為VC2005的風格。如何恢復至VC6的默認風格呢?
A1:工具→文件夾選項→文件類型(Win7中是設(shè)置默認程序)
找到DSW文件,高級(可能先還原)→編輯,用于執(zhí)行操作的應用程序由"C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/devenv.exe" "%1"更改為"C:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin/MSDEV.EXE" "%1",這樣默認*.dsw文件就以VC6.0打開,而不是以VC8.0打開。同樣更改*.dsp文件類型以用VC6打開,當然可以更改顯示圖標為VC6風格的。
Q2:雙擊VC項目文件(*.sln/*.dsw),并沒有打開一個新的IDE窗口,而是替代了已經(jīng)打開的項目。
A2:工具→文件夾選項→文件類型(Win7中是設(shè)置默認程序)
找到DSW/SLN文件,高級(可能先還原)→編輯,勾掉“使用DDE”。
二.預處理宏
1. 通用宏
VC6.0中:
Project Setting→C/C++→Preprocessor definitions
VC2005中:
項目屬性→配置屬性→C/C++→預處理器定義
(1)平臺識別宏
WIN32:指明是Window 32位系統(tǒng)平臺。
常見的平臺識別宏如下:
_DOS_:MS-DOS 16位系統(tǒng)平臺。
WIN64:指明是Window 64位系統(tǒng)平臺。
_WIN32_WCE:Window Mobile 32位系統(tǒng)平臺。
_UNIX:UNIX系統(tǒng)平臺。
_POSIX_:POSIX(Portable Operating System Interface of Unix)系統(tǒng)平臺。
_LINUX_:LINUX系統(tǒng)平臺。
_APPLE_/_MAC_:蘋果(Macintosh)系統(tǒng)平臺。
(2)字符集識別宏
_MBCS/_UNICODE:指明該工程使用的字符集(多字節(jié)字符集/UNICODE)。
在VC6.0的“Project Setting→C/C++→Project Options”處將會有/D "_MBCS"或/D "_UNICODE"開關(guān)。
在VC2005的“項目屬性→配置屬性→常規(guī)→項目默認值→字符集”中選擇“使用多字節(jié)字符集”或“使用 Unicode 字符集”;在“項目屬性→配置屬性→C/C++→使用UNICODE響應文件”中選擇“是”或“否”。在“項目屬性→配置屬性→C/C++→命令行” 處將會有/D "_MBCS"或/D "_UNICODE" /D "UNICODE"開關(guān)。
當項目中的文件具有 UNICODE 路徑(例如中文路徑)時,應在“項目屬性→C/C++→常規(guī)”和“項目屬性→鏈接器→常規(guī)”中開啟“使用UNICODE響應文件”開關(guān)。
(3)UI識別宏
_CONSOLE/_WINDOWS:指明應用程序的類型是控制臺程序或窗口程序(CUI/GUI)。
(4)debug/release版本識別宏
_DEBUG/NDEBUG:指明編譯版本(Debug/Release)。
2.項目類型特定宏
VC不同的項目類型,有一些特定的宏,以在編譯器區(qū)分項目類型。
(1)Win32 Static Library項目
VC6.0中:
Project Setting→C/C++(Category:General)→Preprocessor definitions:_LIB
如果選擇了MFC Support則_WINDOWS,_AFXDLL
VC2005中:
項目屬性→常規(guī)→配置類型→靜態(tài)庫(.lib)
項目屬性→C/C++→預處理器→預處理器定義:_LIB
(2)Win32 Dynamic-Link Library項目
VC6.0中:
Project Setting→C/C++→Preprocessor definitions:_WINDOWS,_USRDLL,DLL_EXPORTS
VC2005中:
項目屬性→常規(guī)→配置類型→動態(tài)庫(.dll)
項目屬性→C/C++→預處理器→預處理器定義:_WINDOWS;_USRDLL;DLL_EXPORTS
(3)MFC DLL項目
<1>Regular DLL with MFC statically linked(帶靜態(tài)鏈接MFC的規(guī)則DLL)
VC6.0中:
Project Setting→C/C++→Preprocessor definitions:_WINDOWS,_WINDLL,_USRDLL
VC2005中:
項目屬性→C/C++→預處理器→預處理器定義:_WINDOWS;_USRDLL
<2>Regular DLL using shared MFC DLL(使用共享MFC DLL的規(guī)則DLL)
VC6.0中:
Project Setting→C/C++→Preprocessor definitions:_WINDOWS,_WINDLL,_AFXDLL, _USRDLL
VC2005中:
項目屬性→C/C++→預處理器→預處理器定義:_WINDOWS;_USRDLL
<3>MFC Extension DLL(using shared MFC DLL)(MFC擴展DLL)
VC6.0中:
Project Setting→C/C++→Preprocessor definitions:_WINDOWS,_WINDLL,_AFXDLL,_USRDLL
VC2005中:
項目屬性→C/C++→預處理器→預處理器定義:_WINDOWS; _AFXEXT
在DLL項目中,_USRDLL宏表示生成Export Lib!
3.其他常用宏
__FILE__/__LINE__:
__FILE__為包含當前程序文件名的路徑字符串,例如C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/stdio.h;__LINE__為當前程序代碼行號,從1開始的整數(shù)。
__STDC__/__cplusplus:
當編譯標準C (ANSI C)程序時,編譯器自動定義__STDC__ ;當編譯標準C++ 程序時,編譯器自動定義__cplusplus。
_MSC_VER:Microsoft Visual C++編譯器的版本號。例如VC++6.0為1200,VC++8.0為1400,以此類推。
WIN32_LEAN_AND_MEAN告訴編譯器不加載MFC(Not Using MFC)。
關(guān)于VC編譯器預處理宏,參考:
《Predefined Macros(VC6.0)》
《C/C++ Preprocessor Reference-Predefined Macros(VC8.0)》
《What’s the difference between the WIN32 and _WIN32 defines in C++》
三.工作目錄和控制臺程序運行參數(shù)
VC6.0中:
“Project Setting→Debug→Working directory”處填寫exe程序的工作目錄。
在“Project Setting→Debug→Program argument”處填寫main運行參數(shù)。
VC2005中:
在“項目屬性→配置屬性→調(diào)試→工作目錄”處填寫exe程序的工作目錄。
在“項目屬性→配置屬性→調(diào)試→命令參數(shù)”處填寫main運行參數(shù)。
默認的工作目錄為ProjectDir,即*.dsp/*.vcproj所在目錄。
通過編譯器啟動(Ctrl + F5)應用程序時,可以將所依賴的lib和dll庫文件所在目錄設(shè)為工作目錄。應用程序執(zhí)行期間,文件操作的默認路徑為工作目錄。
工作目錄是指當前目錄,GetCurrentDirectory()得到的路徑;SetCurrentDirectory來改變。
運行目錄是指exe所在路徑,可通過GetModuleFileName()得到。
四.附加頭文件包含
VC6.0中:
VC6.0默認include包含路徑:Tools→Options→Directories→Include files。
對于特定項目的頭文件包含,在“Project Setting→C/C++(Category:Preprocessor)→Additional include directories”處添加附加頭文件目錄,相對目錄參考*.dsp文件。
目錄路徑不需添加雙引號,路徑分隔符為’/’或’/’,不必考慮反斜杠’/’的轉(zhuǎn)義。多個路徑之間以逗號分隔。
相應的在“Project Setting→C/C++→Project Options”中將會出現(xiàn)“/I”的包含命令。
VC2005中:
VC2005默認include包含路徑:工具→選項→項目和解決方案→VC++目錄→包含文件。
對于特定項目的頭文件包含,在“項目屬性→配置屬性→C/C++→常規(guī)→附加包含目錄”處添加附加包含目錄,相對目錄參考$ProjectPath(*.vcproj文件路徑)。
目錄路徑不需添加雙引號,路徑分隔符為’/’或’/’,不必考慮反斜杠’/’的轉(zhuǎn)義。多個路徑之間以分號分隔。
相應的在“項目屬性→配置屬性→C/C++→命令行” 中將會出現(xiàn)“/I”的包含命令。
關(guān)于#include的兩種包含方式
#include <std*.h>為編譯器指定的包含路徑下的頭文件:即在VC6.0中的“Tools→Options→Directories→Include files”(對應VC2005的“工具→選項→項目和解決方案→VC++目錄→包含文件”)處指定的包含目錄。默認情況下包括
(1)$(VCInstallDir)include(/Microsoft Visual Studio/VC98/INCLUDE)
(2)$(VCInstallDir)atlmfc/include(/Microsoft Visual Studio/VC98/ATL/INCLUDE、/Microsoft Visual Studio/VC98/MFC/INCLUDE)
(3)$(VCInstallDir)PlatformSDK/include(VC2005)。
對于“Tools→Options→Directories→Include files”(“工具→選項→項目和解決方案→VC++目錄→包含文件”)目錄下的文件的包含,一般可使用尖括號包含。系統(tǒng)對尖括號的包含優(yōu)先到編譯器設(shè)置的包含路徑下定位,再到附加包含目錄下進行定位。
#include "MyHeader.h"為在“Tools→Options→Directories→Include files”(“工具→選項→項目和解決方案→VC++目錄→包含文件”)處人工添加的包含路徑下的頭文件或者附加包含目錄下的頭文件。
對于編譯器提供的標準庫函數(shù)頭文件(“Tools→Options→Directories→Include files”(“工具→選項→項目和解決方案→VC++目錄→包含文件”)),一般使用尖括號進行包含聲明,當然使用雙引號包含也沒有錯。
對于在“Tools→Options→Directories→Include files”(“工具→選項→項目和解決方案→VC++目錄→包含文件”)處人工添加的包含路徑和附加包含目錄下的頭文件的包含可以使用尖括號進行包含,但一般使用雙引號。
原則上,對于工程或文件可見的包含目錄下的頭文件包含,使用以上兩種包含方式中的任一種都不會出錯,主要是它們在搜索目錄時的順序不一樣。習慣上使用尖括號包含標準庫函數(shù)頭文件,使用雙引號包含用戶自定義頭文件。
一般針對具體工程使用附加頭文件包含即可,不必去動編譯器的“Tools→Options→Directories→Include files”(對應VC2005的“工具→選項→項目和解決方案→VC++目錄→包含文件”)。但是,對于像DirectX、wxWidgets等這樣的SDK,一般宜對include/library路徑作編譯器級全局配置,同時指定相應source路徑,以便做源碼級調(diào)試(F11進入SDK內(nèi)部代碼)。下面的鏈接庫包含情同此理。
External Dependencies里面顯示的是你的工程要用到的頭文件,不在你的工程里面,而且也不在VC的默認包含路徑中。參考:《VC6.0的External Dependencies》。
五.附加鏈接庫包含
VC6.0中:
VC6.0默認lib包含路徑:Tools→Options→Directories→Library files
對于特定項目的頭文件包含,可以通過以下兩步添加附加鏈接庫:
1. 在“Project Setting→Link(Category:Input)→Additional library path”處添加附加庫目錄,相對目錄參考*.dsp文件。
目錄路徑不需添加雙引號,路徑分隔符為’/’或’/’,不必考慮反斜杠’/’的轉(zhuǎn)義。多個路徑之間以逗號分隔。
相應的將會在“Project Setting→Link→Project Options”處同步“/libpath”庫包含命令。
2. 在“Project Setting→Link(Category:General)→Object/Library Modules” 處添加庫文件名YourLib.lib(也可在文件中使用#pragma comment(lib, "YourLib.lib")顯式導入所依賴的靜態(tài)庫),多個庫之間以空格分隔。
相應的將會在“Project Setting→Link→Project Options”處同步包含的庫名稱。
VC2005中:
VC2005默認lib包含路徑:工具→選項→項目和解決方案→VC++目錄→庫文件
對于特定項目的庫文件包含,可以通過以下兩種方式添加附加庫目錄:
1.
(1)在“項目屬性→配置屬性→鏈接器→常規(guī)→附加庫目錄”處輸入附加庫目錄路徑,相對目錄參考$ProjectPath(*.vcproj文件路徑)。
目錄路徑不需添加雙引號,路徑分隔符為’/’或’/’,不必考慮反斜杠’/’的轉(zhuǎn)義。多個路徑之間以分號分隔。
相應的將會在“項目屬性→配置屬性→鏈接器→命令行”處同步“/LIBPATH”庫包含命令。
(2)在“項目屬性→配置屬性→鏈接器→輸入→附加依賴項” 處添加庫文件名YourLib.lib(也可在文件中使用#pragma comment(lib, "YourLib.lib")顯式導入所依賴的靜態(tài)庫),多個庫之間以空格分隔。
相應的將會在“項目屬性→配置屬性→鏈接器→命令行”處同步包含的庫名稱。
2.
在“項目屬性→配置屬性→鏈接器→命令行” 處添加庫文件名YourLib.lib(必要時添加相對目錄,保證YourLib的可見性)。
六.生成文件目錄設(shè)置
VC6.0中:
在“Project Setting→General→Output directories”的“Output files”處填寫*.exe或*.lib/*.dll的生成目錄,相應在“Project Setting→Link(或Library)→Output file name”處將會同步文件輸出路徑。相對目錄參考*.dsp文件。
在“Project Setting→General→Output directories”的“Intermediate files”處填寫中間文件生成目錄。相對目錄參考*.dsp文件。
VC2005中:
在“項目屬性→常規(guī)→輸出目錄”處填寫輸出目錄,在“項目屬性→常規(guī)→中間目錄”處填寫中間目錄,相對目錄參考$ProjectPath(*.vcproj文件路徑)。
在“項目屬性→鏈接器(或管理員)→常規(guī)→輸出文件”處填寫輸出文件路徑。
輸出目錄(OutDir)一般為$(SolutionDir)$(ConfigurationName)
輸出文件(OutputFile)一般為$(OutDir)/$(ProjectName).exe(*.lib,*.dll)
1.環(huán)境變量宏說明
$(SolutionDir)為*.sln文件所在文件夾,尾帶‘/’;
$(ProjectDir)為*.vcproj文件所在文件夾,尾帶‘/’;
$(PlatformName)為平臺名稱,例如Win32,Windows Mobile 6 Professional SDK(ARMV4I)。
$(ConfigurationName)為*.sln的*.vcproj文件所在文件夾下的debug、release文件夾,參考*.vcproj文件中的<Configurations>配置項。
具體在“項目屬性→配置屬性→調(diào)試→命令”下拉點擊“編輯”,展開“宏(M)>>”,可以看到很多項目內(nèi)置宏。
2.生成目錄的配置
輸出目錄(OutDir):$(ProjectDir)$(PlatformName)/$(ConfigurationName)
以上穿插$(PlatformName)主要是為了發(fā)布多平臺版本考慮,對于普通的單平臺開發(fā),該路徑可選。
TargetDIr為OutDir后加‘/’。
輸出文件主要按項目區(qū)分如下:
(1)DLL項目:*.pdb,*.exp,*.lib
(2)EXE項目:*.pdb
中間目錄(IntDir):$(OutDir)/Intermediate
中間文件包括*.pch,*.obj,(*.sbr),vc6(8)0.idb,vc6(8)0.pdb
輸出文件:$(OutDir)/$(ProjectName).lib(dll、exe)
(1)DLL項目:*.ilk,*.dll
(2)EXE項目:*.ilk,*.exe
關(guān)于*.pch,參考《預編譯頭文件》;注意*.ilk和*.pdb文件只有在Debug版本時才會生成,關(guān)于*.ilk和*.pdb,參考《VC項目配置基礎(chǔ)》。
一般一個大的工程(*.dsw,*.sln),同時含有LIB、DLL和EXE項目,習慣將LIB輸出到項目輸出目錄或?qū)⑦@些鏈接時用到的LIB放到專門的目錄;EXE和其運行依賴的DLL都輸出到BIN目錄,這樣便于項目的組織和最終成果的發(fā)布。
七.關(guān)于相對目錄
相對目錄是相對某個文件而言的,例如在VC項目屬性配置附加包含目錄、附加庫目錄則是相對*.dsp、*.vcproj文件而言的;在某個*.c、*.cpp文件中使用#include包含命令,是相對這個*.c、*.cpp文件而言的。
當前目錄是可見的,一般直接引用文件名(夾),對于子文件夾可以添加”./”。
..:父目錄
../include:父目錄下的include目錄
../..:祖父目錄
../../include:祖父目錄下的include目錄
在VC2005中,“屬性窗口”可查看當前文檔的“文件信息”,其中可查看文件相對*.vcproj的相對路徑。
八.依賴項目聯(lián)編
一個解決方案(dsw、sln)可以創(chuàng)建很多輔助子項目(dsp、vcproj),如何設(shè)置使在編譯主項目的時,先編譯所依賴的輔助項目呢?
一般會配置輔助子項目的OutDir和主項目相同,這樣生成的lib或dll對于主項目exe直接可見。
VC6.0中:
選擇菜單“Project→Dependencies”可以選擇需要聯(lián)編的項目。
VC2005中:
在解決方案資源管理器中右擊項目名稱,選擇“引用”或“項目依賴項”菜單可添加(選擇)引用依賴項目;選擇“項目生成順序”可查看建立項目依賴后的項目生成順序。
建立依賴關(guān)系后,主項目編譯(F7,Build)時,若發(fā)現(xiàn)輔助依賴子項目有改動,則會先編譯子項目。
九.附加DLL調(diào)試
VC6.0中:
如果你需要調(diào)試的DLL是動態(tài)裝入(LoadLibrary)的,則需要在“Project Setting →Debug(Category:Additional DLLs)”處添加這個DLL文件。
Place a check in the first column to load the module’s symbols at the start of a debug session.
十.導出makefile
VC6.0中選擇菜單“Project→Export Makefile”即可導出Makefile文件*.mak。
VC6以后不再支持makefile輸出了。
參考:《VC的MAKE文件的語法》,《vs6 IDE導出的makefile使用方法》,《教你在VS2005下寫MakeFile》
十一.代碼的編輯與閱讀導航
Visual Studio本身就帶有充分的代碼組織、編輯、分析以及閱讀能力的支持。
VC6.0的“Project Settings→C/C++→Generate Browse info”和“Project Settings→Browse info→Build browse info file”可生成向?qū)募?/span>FileView和ClassView需要這些信息導航。
VC6.0和VC2005中的“Edit→Find in Files”支持指定項目、工程或文件內(nèi)的關(guān)鍵字搜索。
VC6.0的“Tools→Source Browser”(Alt+F12),提供對“Definitions and References”、“File Outline”、“Base Classes and Members”、“Derived Classes and Members”、“Call Graph”、“Callers Graph”等導航功能支持。VC2005側(cè)邊欄“類視圖”中支持顯示“基類型”、“派生類型”、“繼承成員”等功能,右鍵快捷菜單中的“調(diào)用瀏覽器”支持函數(shù)調(diào)用關(guān)系圖和被調(diào)用關(guān)系圖的查看。
編輯時,VC6右鍵快捷菜單支持“List Members”、“Parameter Info”、“Type Info”、“Complete Word”。對應VC2005文本編輯器工具欄中的“顯示對象成員列表”、“顯示參數(shù)信息”、“顯示快速信息”、“顯示文字自動完成”。
VC2005右鍵快捷菜單中支持“查找所有引用”,配合代碼定義窗口,可很方便地瀏覽代碼。VC2005標準工具欄中的“向后定位/向前定位”支持定位功能。此外,在閱讀代碼時,我們可以使用書簽(Bookmark)來設(shè)置錨點,這樣就可以實現(xiàn)基于書簽的自定義索引導航。
下面介紹常用的編程輔助插件軟件及源代碼層次結(jié)構(gòu)分析工具軟件。
1.Visual Assist X是一款非常好的Microsoft Visual Studio輔助插件,支持C/C++,C#,ASP,Visual Basic,Java和HTML等語言,能自動識別各種關(guān)鍵字、系統(tǒng)函數(shù)、成員變量、自動給出輸入提示、自動更正大小寫錯誤、自動標示錯誤等,有助于提高開發(fā)過程的自動化和開發(fā)效率。例如VA Outline中右鍵→Refactor→Rename能夠快速更新變量命名。
2.Windows下的Source Insight是一個面向項目開發(fā)的程序編輯器和代碼導航瀏覽器,它還能顯示reference trees,class inheritancediagrams和call trees。相應的Linux下閱讀源代碼的利器Source Navigator能很好地解決文件定位和跳轉(zhuǎn)問題。
3.Rational Rose是利用UML(統(tǒng)一建模語言)進行分析和設(shè)計面向?qū)ο筌浖到y(tǒng)的強大的可視化工具,可以進行項目需求分析、結(jié)構(gòu)規(guī)劃和生成框架代碼,還可以支持從現(xiàn)有系統(tǒng)逆向轉(zhuǎn)出工程代碼,生成Rose模型的功能。
逆向工程(Reverse Engineer)就是從現(xiàn)有系統(tǒng)的代碼來生成模型的功能。通過Rational Rose分析已有的代碼,可了解代碼結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),生成類層次關(guān)系圖、數(shù)據(jù)模型圖和組件圖。
十二. VC常用快捷鍵
Alt+F7:Project Settings
Ctrl+J/K:尋找上一個/下一個預編譯條件
Ctrl+Shift+J/K:尋找上一個/下一個預編譯條件并將這一塊選定
Ctrl+Tab:當前打開文檔和上一次打開文檔切換。
Alt+O:頭文件與cpp文件的交互顯示
F12:Goto definition
Shift+F12:Goto reference
Ctrl+Home:文檔頭
Ctrl+Shift+Home:選定從當前位置到文檔頭
Ctrl+End:文檔尾
Ctrl+Shift+End:選定從當前位置到文檔尾
Alt+F8:自動格式重排
Ctrl+F4:關(guān)閉當前文檔
Ctrl+Z/Alt+Backspace:Undo
Ctrl+Shift+Z/Ctrl+Y:Redo
Ctrl+B/Alt+F9:編輯斷點
Ctrl+Shift+F9:去掉所有斷點
Ctrl+D:定位工具條查找輸入欄
Alt+F3/Ctrl+F:當前文檔查找
Ctrl+F3:查找下一個
Ctrl+Shift+F3:查找上一個
Ctrl+H:替換
Ctrl+]:括號匹配
Ctrl+↑:向上滾屏
Ctrl+↓:向下滾屏
Ctrl+←:移到前一個單詞
Ctrl+→:移到后一個單詞
Ctrl+Shift+←:選定當前位置到前一個單詞
Ctrl+Shift+→:選定當前位置到后一個單詞
Ctrl+Shift+]:括號匹配塊選
Ctrl+Shift+F8:配合鼠標和方向鍵實現(xiàn)豎直塊選
Ctrl+Backspace:刪除當前單詞的前半截(以光標為分割)
Ctrl+Del:刪除當前單詞的后半截(以光標為分割)
Ctrl+L:剪切當前行
Ctrl+Shift+L:刪除當前行
F2:上一個書簽
Shift+F2:上一個書簽
Alt+F2:編輯書簽
Ctrl+F2:添加/刪除一個書簽
Ctrl+Shift+F2:清除所有書簽
聯(lián)系客服