




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
CodeBlocks詳細(xì)使用手冊(cè)Code::Blocks手冊(cè)Version1.01CodeBlocks項(xiàng)目管理下圖是CodeBlocks運(yùn)行時(shí)的用戶界面:管理(Management):管理窗口包含Project視圖與Symbols視圖。Project視圖顯示當(dāng)前CodeBlocks打開的所有項(xiàng)目(譯者注:類似與VS解決方案資源管理器);Symbols視圖顯示項(xiàng)目中的標(biāo)識(shí)符:類,函數(shù)、變量等信息(譯者注:類似與VS的類視圖)。代碼編輯器:支持代碼折疊,關(guān)鍵字高亮顯示。上圖main.cpp正在被編輯。打開文件列表:顯示當(dāng)前在代碼編輯器中打開的所有文件列表。上圖中打開的文件列表為:main.cpp,person.cpp,person.hpp代碼段(CodeSnippets):管理常用的代碼段、常用文件鏈接(linkstofiles)與URL。可以通過(guò)菜單View->CodeSnippets來(lái)顯示該面板。日志和其他:這個(gè)窗口用于輸出日志信息,顯示查詢結(jié)果等等。狀態(tài)欄提供了以下這些信息:編輯器中打開文件的絕對(duì)路徑;文件的編碼類型;光標(biāo)所在的行與列;當(dāng)前的鍵盤模式(insert或者overwrite);當(dāng)前的文件狀態(tài)。被修改過(guò)的(但尚未保存)文件將被標(biāo)記為“modified”,否則這里為空;CodeBlocks詳細(xì)使用手冊(cè)全文共1頁(yè),當(dāng)前為第1頁(yè)。文件操作的權(quán)限。如果文件是只讀的,這里將會(huì)顯示“Readonly”,在Openfileslist中,該文件會(huì)使用一個(gè)加瑣的圖標(biāo)來(lái)顯示;CodeBlocks詳細(xì)使用手冊(cè)全文共1頁(yè),當(dāng)前為第1頁(yè)。個(gè)性化配置名稱;CodeBlocks提示了非常靈活和強(qiáng)大的項(xiàng)目管理功能。下文將介紹項(xiàng)目管理的一些常用功能。項(xiàng)目視圖(ProjectView)在CodeBlocks中,Project的源文件(如C/C++的源文件及其對(duì)應(yīng)的頭文件)和編譯屬性設(shè)置信息都保存在<name>.cbp文件里??梢酝ㄟ^(guò)菜單[File–>Project]啟動(dòng)工程創(chuàng)建向?qū)?lái)創(chuàng)建新的Project,然后通過(guò)管理窗口的上下文菜單[Addfiles](譯者注:上下文菜單,指當(dāng)前窗口中選中目標(biāo)項(xiàng)目,然后右鍵顯示的菜單)向Project中添加文件。CodeBlocks會(huì)自動(dòng)根據(jù)文件的后綴將它們放入不同的類別文件夾中(譯者注:這個(gè)文件夾是虛擬的,實(shí)際并不存在)。下面是默認(rèn)的分類:Sources:包含源文件,后綴為*.c、*.cpp;ASMSources:包括匯編源文件,后綴一般為*.s、*.S、*.ss、*.asm;Headers:包括頭文件,后綴一般為*.h、*.hpp;Resources:包括資源文件,后綴一般為*.res、*.xrc;通過(guò)管理窗口的上下文菜單[Projecttree–>Editfiletypes&categories],用戶可以新建自定義的文件類別,并為其相應(yīng)的后綴。例如,如果你希望*.ld的文件放到Linkerscript的分類里,你只需新建類別Linkerscript,并為它指定*.ld后綴即可。提示:如果你取消選中管理窗口上下文菜單的[Projecttree–>Categorizebyfiletypes]選項(xiàng),所有的項(xiàng)目文件將會(huì)按它們?cè)谖募到y(tǒng)中的位置來(lái)顯示。1.2項(xiàng)目備注(NotesforProjects)CodeBlocks詳細(xì)使用手冊(cè)全文共2頁(yè),當(dāng)前為第2頁(yè)。可以給CodeBlocks項(xiàng)目添加一些備注,用于對(duì)項(xiàng)目進(jìn)行概要的描述與說(shuō)明,這些信息有助于其他成員迅速的了解項(xiàng)目。備注信息被保存在項(xiàng)目工程文件里,并可以設(shè)置為隨著項(xiàng)目的啟動(dòng)而顯示。如圖:CodeBlocks詳細(xì)使用手冊(cè)全文共2頁(yè),當(dāng)前為第2頁(yè)。1.3項(xiàng)目模板CodeBlocks支持許多不同類型的項(xiàng)目模板,它們會(huì)在新建項(xiàng)目的時(shí)候顯示,創(chuàng)建新項(xiàng)目的時(shí)候往往從這些模板中選擇(如上圖:)。用戶可以自定義工程模板。工程模板保存編譯器的類型、編譯選項(xiàng)、資源的配置等相關(guān)信息。項(xiàng)目模板保存在DocumentsandSettingsn\<user>\ApplicationData\codeblocks\UserTemplates目錄中。如果你希望該工程模板被本機(jī)的所有用戶使用,必須把對(duì)應(yīng)的模板文件拷貝到CodeBlocks的安裝目錄。模板在CodeBlocks重啟之后生效,通過(guò)菜單[New->Project->Usertemplates]就可以看到自定義的模板。CodeBlocks詳細(xì)使用手冊(cè)全文共3頁(yè),當(dāng)前為第3頁(yè)。提示:用戶可以通過(guò)右鍵選中工程向?qū)е械哪0鍖?duì)其進(jìn)行編輯。如下圖:CodeBlocks詳細(xì)使用手冊(cè)全文共3頁(yè),當(dāng)前為第3頁(yè)。1.4從編譯模式創(chuàng)建項(xiàng)目(CreateProjectsfromBuildTargets)一個(gè)項(xiàng)目往往有不同的編譯模式,最常見的是Release和Debug。不同的編譯模式表示用于構(gòu)建當(dāng)前項(xiàng)目所使用的不同編譯器選項(xiàng)、調(diào)試信息或者依賴的文件。每一種編譯模式都可以被保存成獨(dú)立的工程文件。通過(guò)上下文菜單[Project->Properties],在BuildTargets標(biāo)簽中點(diǎn)擊“Createprojectfromtarget”按鈕來(lái)生成對(duì)應(yīng)編譯模式的工程文件,如圖:1.5編譯模式(VirtualTargets)CodeBlocks詳細(xì)使用手冊(cè)全文共4頁(yè),當(dāng)前為第4頁(yè)。一個(gè)項(xiàng)目可以有多種不同的編譯模式,最常用的編譯模式為“Debug”和“Release”?!癉ebug”模式下會(huì)包含許多Debug信息,而“Release”模式下沒(méi)有這些信息。也可以通過(guò)上下文菜單[Project->Properties->BuildTargets]添加其他的編譯模式。編譯模式將顯示在工具欄中:CodeBlocks詳細(xì)使用手冊(cè)全文共4頁(yè),當(dāng)前為第4頁(yè)。1.6預(yù)生成和生成后步驟(Pre-andPostbuildsetps)Code::blocks允許在項(xiàng)目生成前和生成后執(zhí)行額外的操作,這些操作分別被稱為預(yù)生成(Prebuilt)或生成后(Postbuilt)步驟。下面是典型的生成后步驟:(譯者注:筆者對(duì)低層的東西知道的不多,不是很清楚下面這些步驟的意思。)CreatinganIntelHexformatfromanishedobjectManipulatingobjectsbyobjcopyGeneratingdumplesbyobjdump1.7為構(gòu)建目標(biāo)添加腳本(AddingScriptsinBuildTargets)Code::Blocks允許使用腳本來(lái)調(diào)用菜單命令,控制項(xiàng)目的生成。提示:腳本可以被包含到一個(gè)構(gòu)建目標(biāo)(BuildTarget)中。1.8解決方案(Workspace)與項(xiàng)目依賴CodeBlocks可以同時(shí)打開多個(gè)項(xiàng)目,通過(guò)菜單[File->Saveworkspace]把它們集成到一個(gè)解決方案中,并生成一個(gè)對(duì)應(yīng)的解決方案文件(<name>.workspace)。下次打開解析方案文件(<name>.workspace)時(shí),這些項(xiàng)目會(huì)被一起加載進(jìn)來(lái)。復(fù)雜的軟件系統(tǒng)通常由不同的模塊、組件以獨(dú)立的工程項(xiàng)目組成,它們之間往往存在依賴關(guān)系。CodeBlocks詳細(xì)使用手冊(cè)全文共5頁(yè),當(dāng)前為第5頁(yè)。例如:項(xiàng)目A以庫(kù)(library)的形式提供一些公用函數(shù)給其他項(xiàng)目調(diào)用,如果項(xiàng)目A中的源代碼被修改,這個(gè)庫(kù)就得重新編譯。項(xiàng)目B使用項(xiàng)目A中實(shí)現(xiàn)的函數(shù),那么項(xiàng)目B就依賴項(xiàng)目A。CodeBlocks把這些項(xiàng)目依賴的信息保存到解決方案文件中,所以解決方案中的工程可以各自獨(dú)立的創(chuàng)建、編譯而不相互影響(譯者注:由解決方案文件來(lái)維護(hù)各項(xiàng)目的依賴關(guān)系)。這些依賴關(guān)系會(huì)決定項(xiàng)目的生成順序。通過(guò)菜單[Project->Properties],然后選擇[Project’sdependencies]按鈕來(lái)設(shè)置項(xiàng)目之間的依賴關(guān)系。如下圖:CodeBlocks詳細(xì)使用手冊(cè)全文共5頁(yè),當(dāng)前為第5頁(yè)。1.9包含匯編文件略。1.10代碼編輯器與工具(EditorandTools)1.10.1默認(rèn)代碼(DefaultCode)公司的編碼規(guī)范往往要求源文件有統(tǒng)一的布局(譯者注:例如源文件的開始處以統(tǒng)一的格式給出文件創(chuàng)建的時(shí)間、作者、實(shí)現(xiàn)的功能描述等相關(guān)信息)。CodeBlocks允許預(yù)定義一些內(nèi)容,當(dāng)新建C/C++文件時(shí)這些內(nèi)容會(huì)自動(dòng)添加到文件的開始處。這里把預(yù)定義的內(nèi)容稱為defaultcode??梢酝ㄟ^(guò)菜單[Settings–>Editor–>DefaultCode]來(lái)設(shè)置defaulgcode,通過(guò)菜單[File->New->File]創(chuàng)建的代碼文件將自動(dòng)添加上defaultcode。例如:/**************************************************************************Project:*Function:**************************************************************************$Author:mario$*$Name:$***************************************************************************Copyright2007bycompanyname*************************************************************************/CodeBlocks詳細(xì)使用手冊(cè)全文共6頁(yè),當(dāng)前為第6頁(yè)。1.10.2縮寫(Abbreviation)CodeBlocks詳細(xì)使用手冊(cè)全文共6頁(yè),當(dāng)前為第6頁(yè)。定義一個(gè)常用的代碼片斷[typing],并給它提供一個(gè)名字[Abbreviation],在寫程序的時(shí)候,只要給出這個(gè)名字,然后按快捷鍵Ctrl+J,CodeBlocks就會(huì)用預(yù)先定義的代碼片斷來(lái)替換該名字。(譯者注:VS中也有類似的功能,在C#程序時(shí),只要寫出關(guān)鍵字for,然后連續(xù)按兩次Tab鍵,編輯器會(huì)自動(dòng)生成for語(yǔ)句的框架,是不是很方便?~_~)。通過(guò)菜單[Settings->Editor]來(lái)設(shè)置Abbreviation,如下圖:abbreviation也支持參數(shù)變量(Parametrisation)(如:$NOW表示當(dāng)前時(shí)間)。如:-->1.10.3個(gè)性化(Personalities)CodeBlocks詳細(xì)使用手冊(cè)全文共7頁(yè),當(dāng)前為第7頁(yè)。CodeBlocks的配置信息被作為應(yīng)用程序數(shù)據(jù)而保存在codeblocks文件夾的<user>.conf文件中。該配置文件中保存的信息包括:上次打開的項(xiàng)目、代碼編輯器的設(shè)置、符號(hào)欄顯示等等。默認(rèn)的個(gè)性化設(shè)置被保存在default.conf文件中。通過(guò)命令行參數(shù)-personality=myuser來(lái)調(diào)用CodeBlocks,配置信息將被保存到myuser.conf中。如果該文件不存在,系統(tǒng)將自動(dòng)創(chuàng)建它。如果以命令行的方式來(lái)啟動(dòng)CodeBlocks,并傳遞命令參數(shù)--personality=ask,將會(huì)顯列出當(dāng)前所有的修改化配置列表,用戶選擇其一啟動(dòng)CodeBlocks。如下圖:CodeBlocks詳細(xì)使用手冊(cè)全文共7頁(yè),當(dāng)前為第7頁(yè)。1.10.4配置文件(ConfigurationFiles)CodeBlocks的配置信息保存在codeblocks目錄下的default.conf文件中。當(dāng)使用個(gè)性化設(shè)置的時(shí)候,配置信息將被保存到<personality>.conf文件里。cb_share_conf(一個(gè)輔助工具,可以在CodeBlocks安裝目錄里找到)被用來(lái)管理與保存這些設(shè)置信息。如果你想為電腦的不同賬戶定義一個(gè)公用的默認(rèn)設(shè)置,defual.conf文件應(yīng)該被保存到\DocumentsandSettings\DefaultUser\ApplicationData\codeblocks。CodeBlocks在第一次啟動(dòng)的時(shí)候,會(huì)將該配置文件拷貝到當(dāng)前賬戶的applicationdata目錄下(并作為當(dāng)前帳戶的配置文件)。如果想在usb設(shè)備上創(chuàng)建一個(gè)綠色版本號(hào)的CodeBlocks,請(qǐng)執(zhí)行下面步驟:將CodeBlocks安裝目錄拷貝到usb設(shè)備上,將配置文件default.conf拷貝到該目錄中,該配置文件將被用于全局的設(shè)置。確保系統(tǒng)有權(quán)限對(duì)該文件進(jìn)行寫入,否則CodeBlocks對(duì)配置文件的修改將不會(huì)被保存。1.10.5導(dǎo)航與搜索(NavigateandSearch)CodeBlocks提供了很多方法用于文件和函數(shù)之間導(dǎo)航。書簽就是最常用的一種方式。通過(guò)快捷鍵Ctrl+B在源文件中設(shè)置/刪除一個(gè)書簽,通過(guò)Alt+PgUp或Alt+PgDn在不同的書簽之間跳轉(zhuǎn)。CodeBlocks詳細(xì)使用手冊(cè)全文共8頁(yè),當(dāng)前為第8頁(yè)。在管理窗口的Project視圖中選中解決方案或項(xiàng)目,右鍵點(diǎn)擊在彈出菜單中選擇[Findfile],輸入你查找的文件名稱,然后回車,該文件將被選中(如果文件存在的話),再按回車,編輯器就會(huì)打開該文件。如下圖:CodeBlocks詳細(xì)使用手冊(cè)全文共8頁(yè),當(dāng)前為第8頁(yè)。在CodeBlocks中,你可以很容易的在頭文件與源文件之間導(dǎo)航:1.將光標(biāo)置于頭文件被包含處(例如:#include“header.hpp”),右鍵選擇性“openincludefile”,編輯器將打開該包含文件。(譯者注:可以在VS中使用快捷鍵Ctrl+Shift+G實(shí)現(xiàn)同樣的操作。這個(gè)功能非常方便,特別是要查看源代碼時(shí)。)2.通過(guò)右鍵菜單的[Swapheader/source],在頭文件與源文件之間切換。3.選中一個(gè)定義(如變量名,類型名等等),在右鍵菜單中選擇[Finddeclaration],編輯器就會(huì)打開該定義的聲明。(譯者注:可以使用右鍵菜單的[Findimplementation]定位到函數(shù)的實(shí)現(xiàn)處,在VS中使用快捷鍵F12實(shí)現(xiàn)同樣的操作。這也是一個(gè)非常方便的功能。)。CodeBlocks詳細(xì)使用手冊(cè)全文共9頁(yè),當(dāng)前為第9頁(yè)。CodeBlocks詳細(xì)使用手冊(cè)全文共9頁(yè),當(dāng)前為第9頁(yè)。CodeBlocks提供多種方式用于對(duì)單個(gè)文件或整個(gè)目錄進(jìn)行搜索。通過(guò)菜單[Search->Find]或[Search–>FindinFiles]來(lái)打開搜索對(duì)話框。Alt+G和Ctrl+Alt+G這兩個(gè)快捷鍵用于打開文件/函數(shù)跳轉(zhuǎn)對(duì)話框,只要輸入文件/函數(shù)的名稱,就可以很方便的跳轉(zhuǎn)到指定文件或函數(shù)。文件名/函數(shù)名搜索還支持*和?等能配符。(譯者注:可以使用VisualAssist插件在VS中實(shí)現(xiàn)類似的功能。這兩個(gè)功能真的很方便實(shí)用。)提示:使用Ctrl+PgUp和Ctrl+PgDn可以在前后函數(shù)之間跳轉(zhuǎn)。CodeBlocks詳細(xì)使用手冊(cè)全文共10頁(yè),當(dāng)前為第10頁(yè)。在文本編輯器中,使用快捷鍵Ctrl+Tag可以在當(dāng)前所有打開的文件之間跳轉(zhuǎn)。(譯者注:VS也有類似的功能,而且快捷鍵也是Ctrl+Tag,這是巧合嗎?)CodeBlocks詳細(xì)使用手冊(cè)全文共10頁(yè),當(dāng)前為第10頁(yè)。顯示行號(hào)。通過(guò)菜單[Settings->GeneralSettings],選中[Showlinenumbers]來(lái)顯示行號(hào)。使用快捷鍵Ctrl+G可以快速的跳轉(zhuǎn)到指定行。1.10.6符號(hào)視圖(Symbolview)CodeBlocks詳細(xì)使用手冊(cè)全文共11頁(yè),當(dāng)前為第11頁(yè)。CodeBlocks管理窗口提供的符號(hào)視圖,以樹的形式顯示(導(dǎo)航)C/C++源文件中的類、函數(shù)、變量定義??梢赃x擇符號(hào)顯示的區(qū)域是:當(dāng)前文件、當(dāng)前項(xiàng)目、整個(gè)解決方案。(譯者注:與VS的類視圖面板實(shí)現(xiàn)類似的功能。)CodeBlocks詳細(xì)使用手冊(cè)全文共11頁(yè),當(dāng)前為第11頁(yè)。提示:在搜索輸入框中輸入符號(hào)的名稱,符號(hào)瀏覽器將會(huì)過(guò)濾不符條件的符號(hào)。符號(hào)視圖將符號(hào)分為如下分類:Globalfunctions:全局函數(shù);Globaltypedefs:通過(guò)typedef定義的別名;Globalvariables:全局變量;Preprocessorsymbols:通過(guò)#define宏定義的預(yù)處理指示符;結(jié)構(gòu)和類的定義顯示在pre-processorsymbols下面。如果一個(gè)分類被選中,屬于該分類的標(biāo)識(shí)符將顯示在視圖的下半部分。雙擊這些標(biāo)識(shí)符,代碼編輯器將定位到定義這些標(biāo)識(shí)符的文件所在處。1.10.7集成外部的幫助文檔CodeBlocks支持添加外部的幫助文檔集成到開發(fā)環(huán)境中。通過(guò)菜單[Settings->Environment]來(lái)設(shè)置。把你選擇的chm格式的文檔以添加到HelpFiles,并將其作為默認(rèn)的幫助文檔,在編輯器中選擇一個(gè)函數(shù),對(duì)應(yīng)的文檔就會(huì)出現(xiàn)通過(guò)快捷鍵F1?!?.10.8集成外部工具通過(guò)菜單[Tools->ConfigurationTools–>Add],把外部工具集成到CodeBlocks開發(fā)環(huán)境中。這些外部的工具允許以參數(shù)的形式訪問(wèn)CodeBlocks的內(nèi)建(Built-in)變量(如當(dāng)前項(xiàng)目所在的文件夾${PROJECT_DIR})。利用這個(gè)功能,我們給CodeBlocks添加一個(gè)菜單項(xiàng):打開當(dāng)前項(xiàng)目所在的文件夾。請(qǐng)看圖:CodeBlocks詳細(xì)使用手冊(cè)全文共12頁(yè),當(dāng)前為第12頁(yè)。CodeBlocks詳細(xì)使用手冊(cè)全文共12頁(yè),當(dāng)前為第12頁(yè)。(譯者注:這是一個(gè)非常實(shí)用的功能。利用這個(gè)功能,我在我的CodeBlocks中,添加了三個(gè)我最常用的菜單項(xiàng):使用Notepad++打開當(dāng)前文件;打開當(dāng)前項(xiàng)目所在的文件夾;以Dos窗口打開當(dāng)前文件夾。)1.11使用CodeBlocks的小提示(Tips)這節(jié)我們將展示一些CodeBlocks非常有用的提示。1.11.1修改跟蹤(TrackingofModifications)CodeBlocks詳細(xì)使用手冊(cè)全文共13頁(yè),當(dāng)前為第13頁(yè)。CodeBlocks通過(guò)行號(hào)旁邊的小堅(jiān)條顏色來(lái)跟蹤源文件的修改。未保存的修改行將被標(biāo)記為黃色,而已保存的修改行標(biāo)記為綠色。你可以通過(guò)菜單[Search->Gotonextchangedline]或者[Search->Gotopreviouschangedline]在修改內(nèi)容之間導(dǎo)航(對(duì)應(yīng)的快捷鍵是Ctrl+F3和Ctrl+Shift+F3)。(譯者注:VS也提供類型的功能。)CodeBlocks詳細(xì)使用手冊(cè)全文共13頁(yè),當(dāng)前為第13頁(yè)。可以通過(guò)菜單[Settings->Editor->Marginsandcaret],取消選中[UseChangebar]來(lái)取消該功能。提示:如果文件被關(guān)閉,記錄在該文件上的undo/redo信息和修改標(biāo)識(shí)(changebars)將會(huì)清空。如果文件處理打開狀態(tài),可以通過(guò)菜單[Edit->Clearchangeshistory]或者右鍵菜單相應(yīng)選項(xiàng)來(lái)顯式地清空這些信息。1.11.2與其他應(yīng)用程序交互CodeBlocks能夠在運(yùn)行時(shí)與其他應(yīng)用程序進(jìn)行交互。windows下通過(guò)DDE(DynamicDataExchange)實(shí)現(xiàn)這種進(jìn)程間的交互,而在其他操作系統(tǒng)下,基于TCP來(lái)實(shí)現(xiàn)交互。以下語(yǔ)法的命令可以發(fā)送給CodeBlocks運(yùn)行實(shí)例:[<command>(“<parameter>”)當(dāng)前可以使用的命令:Open:命令[Open(“D:\Temp\test.txt”)],在CodeBlocks實(shí)例中(或者啟動(dòng)新的CodeBlocks進(jìn)程,如果需要的話)打開一個(gè)文件。OpenLine:命令[OpenLine(“D:\Temp\test.txt:10”)],在CodeBlocks中打開文件,并定位到指定行數(shù),冒號(hào)后面的數(shù)字用于指定行號(hào)。(譯者注:不是很明白原文的意思:ThiscommandopensaleatagivenlinenumberinaCodeBlocksinstance.)CodeBlocks詳細(xì)使用手冊(cè)全文共14頁(yè),當(dāng)前為第14頁(yè)。CodeBlocks詳細(xì)使用手冊(cè)全文共14頁(yè),當(dāng)前為第14頁(yè)。Raise:讓CodeBlocks實(shí)例獲得焦點(diǎn)。不就給該命令提供參數(shù)。1.11.3配置環(huán)境變量操作系統(tǒng)的配置信息被定義在環(huán)境變量中。例如環(huán)境變量Path包含一個(gè)編譯器的安裝目錄路徑,操作系統(tǒng)在運(yùn)行期間都可以隨時(shí)訪問(wèn)該環(huán)境變量。如果同一編譯器的另一個(gè)版本被安裝,就可能會(huì)發(fā)生錯(cuò)誤,如:調(diào)用的編譯器版本不正確。有時(shí)候因?yàn)轫?xiàng)目的需要,必須在同一機(jī)器上安裝同一編譯器的不同版本。為了避免上述錯(cuò)誤的發(fā)生,可以在項(xiàng)目啟動(dòng)之前修改環(huán)境變量。顯然,這個(gè)方法很容易出錯(cuò),很不靈活?;谶@個(gè)問(wèn)題,CodeBlocks提供了一個(gè)簡(jiǎn)單的解決方法:創(chuàng)建不同版本的、只能在CodeBlocks內(nèi)使用的環(huán)境變量,然后根據(jù)項(xiàng)目的需要選擇適當(dāng)?shù)陌姹经h(huán)境變量。通過(guò)菜單[Settings->Environment],在EnvironmentVaribales面板中點(diǎn)擊Create按鈕創(chuàng)建不同版本的環(huán)境變量,如下圖:1.11.4切換布局CodeBlocks詳細(xì)使用手冊(cè)全文共15頁(yè),當(dāng)前為第15頁(yè)。CodeBlocks可以根據(jù)手頭任務(wù)的需要選擇不同的配置/視圖,并保存這些配置/視圖。默認(rèn)情況下這些配置保存在default.conf文件里。以命令行方式啟動(dòng)Cdoeblocks,并傳遞--personality=ask參數(shù),就可以在列出的個(gè)性化配置列表中選擇一個(gè)視圖啟動(dòng)。有時(shí)候,你可能希望在應(yīng)用程序的使用過(guò)程中切換布局,如編碼模式與調(diào)試模式下可能需要不同的布局。CodeBlocks提供了一種機(jī)制來(lái)實(shí)現(xiàn)這種需求,通過(guò)菜單[View->Layouts->Savecurrent],并輸入布局的命名,保存布局。通過(guò)[View->Layouts->Layoutname]來(lái)切換布局。(譯者注:筆者使用的版本,通過(guò)[View->Perspectives]來(lái)保存\切換布局,如下圖:)CodeBlocks詳細(xì)使用手冊(cè)全文共15頁(yè),當(dāng)前為第15頁(yè)。1.11.5項(xiàng)目切換多個(gè)項(xiàng)目同時(shí)在CodeBlocks中打開時(shí),用戶希望快速的在這些項(xiàng)目之間切換。CodeBlocks提供一組快捷鍵來(lái)實(shí)現(xiàn):Alt+F5:將視圖中前一個(gè)項(xiàng)目設(shè)為激活(Active)項(xiàng)目。(譯者注:類似于VS中將某個(gè)項(xiàng)目設(shè)為啟動(dòng)項(xiàng)目。)Alt+F6:將視圖中后一個(gè)項(xiàng)目設(shè)為激活項(xiàng)目。F11:在編輯器中切換源文件(name.cpp)和頭文件(name.h)。1.11.6擴(kuò)展編譯器設(shè)置CodeBlocks詳細(xì)使用手冊(cè)全文共16頁(yè),當(dāng)前為第16頁(yè)。在編譯一個(gè)項(xiàng)目的過(guò)程中,編譯信息將會(huì)顯示在消息窗口的BuildLog視圖中。如果你想獲取更詳細(xì)的編譯信息,通過(guò)菜單[Settings->CompilerandDebugger],在OtherSettings面板中選擇Compilerlogging下拉列表項(xiàng):CodeBlocks詳細(xì)使用手冊(cè)全文共16頁(yè),當(dāng)前為第16頁(yè)。“Fullcommandline”選項(xiàng)意味著將在BuildLog視圖中顯示所有的編譯信息。可以將這些日志信息保存為HTML文件,通過(guò)選中”SavebuildlogtoHTMLfilewhenfinished’。另外,通過(guò)選中”Displaybuildprocessbar”,CodeBlocks支持在BuildLog視圖中顯示編譯進(jìn)度。1.11.7編輯器縮放CodeBlocks提供了一個(gè)非常高效的編輯器。這個(gè)編輯器允許你縮放打開文本的字體大小。如果你的鼠標(biāo)有滾輪,你只要按住Ctrl鍵,同時(shí)滾支鼠標(biāo)滾輪,就可以實(shí)現(xiàn)文本的縮放。提示:通過(guò)菜單[Edit->Specialcommands->Zoom->Reset]來(lái)重置縮放。1.11.8自動(dòng)換行模式在CodeBlcoks中打開一個(gè)文本文件,使用自動(dòng)換行模式可以將很長(zhǎng)的行以多行的形式顯示在一個(gè)屏幕內(nèi),有利于編輯。通過(guò)菜單[Settings->Editor->OtherOptions],選中Wordwarp來(lái)激活自動(dòng)換行模式?!?.11.9塊選文本CodeBlocks詳細(xì)使用手冊(cè)全文共17頁(yè),當(dāng)前為第17頁(yè)。CodeBlocks支持在代碼編輯器中塊選文本。按住Alt鍵的同時(shí)按住鼠標(biāo)左鍵在編輯器選擇一塊區(qū)域。如果你想選擇數(shù)組的幾列進(jìn)行復(fù)制和粘貼,這個(gè)功能是非常有用的(譯者注:VS也提示類似的功能,快捷鍵也一樣。)。如圖:CodeBlocks詳細(xì)使用手冊(cè)全文共17頁(yè),當(dāng)前為第17頁(yè)。1.11.10代碼折疊CodeBlocks支持代碼折疊,允許將函數(shù)、類的實(shí)現(xiàn)折疊起來(lái)。提示:通過(guò)菜單[Settings->Editor->Folding],可以設(shè)置代碼折疊的樣式和層次限制(depthlimit)。1.11.11自動(dòng)完成在CodeBlocks中打開一個(gè)項(xiàng)目時(shí),編譯器的相關(guān)目錄(include目錄)與項(xiàng)目的源文件/頭文件將被解析,提取有關(guān)類型定義、函數(shù)、宏等的信息,CodeBlocks使用這些信息來(lái)實(shí)現(xiàn)自動(dòng)完成功能。通過(guò)菜單[Settings->Editors->Codecompletion]啟用該功能,通過(guò)快捷鍵Ctrl+Space來(lái)顯示提示信息(譯者注:默認(rèn)的快捷鍵Ctrl+Space不適合中國(guó)人的鍵盤習(xí)慣,建議改成其他快捷鍵。)。通過(guò)[Settings->Editor->Syntaxhighlighting],你可以添加自定義的關(guān)鍵字。1.11.12查找破損文件(Findbrokenfiles)如果一個(gè)文件已經(jīng)從磁盤中刪除,但它仍然被包含在項(xiàng)目文件(project.cbp)中(譯者注:項(xiàng)目的文件信息保存在*.cbp文件里。),這個(gè)文件在項(xiàng)目面板中顯示一個(gè)破損符號(hào)(如下圖)。應(yīng)該通過(guò)上下文菜單[Removefilefromproject]將它從項(xiàng)目中移除。一個(gè)大的工程可能包含許多子文件夾,搜索破損文件會(huì)非?;ㄙM(fèi)時(shí)間。CodeBlocks提供ThreadSearch插件來(lái)解決這個(gè)問(wèn)題。在ThreadSearch中輸入要查找的表達(dá)式,并設(shè)置查找的范圍:“Projectfiles”或者“Workspacefiles”,ThreadSearch將會(huì)分析所有包括在項(xiàng)目或者解決方案中的文件。當(dāng)ThreadSearch找到一個(gè)跋損文件的時(shí)候,會(huì)發(fā)出一個(gè)文件丟失的錯(cuò)誤。1.11.13包含庫(kù)在項(xiàng)目的編譯選項(xiàng)中,你可以通過(guò)”Add”按鍵添加項(xiàng)目所使用的庫(kù)。庫(kù)可以以絕對(duì)路徑的形式給出,也可以只給出名稱而無(wú)需提供lib前綴和文件擴(kuò)展名。CodeBlocks詳細(xì)使用手冊(cè)全文共18頁(yè),當(dāng)前為第18頁(yè)。例如:存在這樣的一個(gè)庫(kù)文件:<path>\libs\lib<name>.a,只要給出<name>,鏈接器就可以找到對(duì)應(yīng)的庫(kù)文件。CodeBlocks詳細(xì)使用手冊(cè)全文共18頁(yè),當(dāng)前為第18頁(yè)。1.11.14對(duì)象鏈接順序在編譯過(guò)程中,源文件name.c/cpp將會(huì)被編譯成目標(biāo)文件name.o,然后鏈接器把獨(dú)立的目標(biāo)文件鏈接成可執(zhí)行文件name.exe(對(duì)于嵌入式系統(tǒng),將鏈接成name.elf)。這種情況下,可能需要預(yù)先定義對(duì)象鏈接的順序。在CodeBlocks中,可以設(shè)置相關(guān)源文件的優(yōu)先級(jí)來(lái)實(shí)現(xiàn)。在上下文菜單中選擇[Properties],在Build標(biāo)簽中定義。較低優(yōu)先級(jí)使文件較先鏈接。1.11.15自動(dòng)保存CodeBlcoks允許自動(dòng)保存當(dāng)前正在編輯的文件和項(xiàng)目,或者對(duì)它們進(jìn)行備份??梢酝ㄟ^(guò)菜單[Settings->Environment->Autosave]來(lái)激活該功能。1.11.16文件擴(kuò)展名設(shè)置在CodeBlocks中,可以選擇多次方式來(lái)處理文件不同后綴的文件,可以在菜單[Settings->Environmentsettings->Filesextensionhandling]設(shè)置相應(yīng)的處理方式:“Launchanexternalprogram”指定外部程序來(lái)打開文件;“Launchtheassociatedapplication”使用系統(tǒng)默認(rèn)程序來(lái)打開文件;“OpenitinCode::Blockseditor”使用Code::Blocks編輯器來(lái)打開文件。如下圖:1.12通過(guò)命令行操作CodeBlocksCodeBlocks能夠通過(guò)命令行來(lái)運(yùn)行。在這種情況下,需要通過(guò)一些選項(xiàng)來(lái)控制項(xiàng)目的構(gòu)建過(guò)程。因?yàn)镃odeBlocks是scriptable的,所以CodeBlocks項(xiàng)目的構(gòu)建可以集成到你自己的工作過(guò)程中。codeblocks.exe/na/nd--no-splash-screen--built<name>.cbp--target=’Release’<filename>指定CodeBlock項(xiàng)目文件(*.cbp)或解決方案文件(*.workspace)。--file=<filename>[:line]:使用CodeBlocks打開指定文件。可選的行號(hào)指示代碼編輯器跳轉(zhuǎn)到該行。/h,--help:顯示幫助信息。CodeBlocks詳細(xì)使用手冊(cè)全文共19頁(yè),當(dāng)前為第19頁(yè)。CodeBlocks詳細(xì)使用手冊(cè)全文共19頁(yè),當(dāng)前為第19頁(yè)。/na,--no-check-associations:不執(zhí)行文件關(guān)聯(lián)檢查。(windowsonly)/nd,--no-dde:不啟動(dòng)DDE服務(wù)。(windowsonly)/ni,--no-ipc:不啟動(dòng)IPC服務(wù)。(LinuxandMaconly)/ns,--no-splash-screen:應(yīng)用程序啟動(dòng)的時(shí)候,不顯示啟動(dòng)畫面。/d,--debug-log:顯示應(yīng)用程序的調(diào)試日志--prefix=<str>:設(shè)置共享數(shù)據(jù)文件夾的前綴/p,--personality=<str>,--profile=<str>:設(shè)置要使用的個(gè)性化配置。你可以使用“ask”參數(shù)來(lái)列出可選擇的個(gè)性化配置。--rebuild:清理并重新編譯工程或解決方案。--build:編譯工程或解決方案。--target=<str>:設(shè)置編譯模式,如:--target=’Release’--no-batch-window-close:編譯完成的時(shí)候,不關(guān)閉日志窗口。--batch-build-notify:編譯完成的時(shí)候顯示提示信息--safe-mode:?jiǎn)?dòng)的時(shí)候,所有插件都不可用。><buildlogfile>:重定向標(biāo)準(zhǔn)輸出到日志文件。這是標(biāo)準(zhǔn)DOS/*nixshell的輸出重定向,并非CodeBlocks內(nèi)置選項(xiàng)。1.13快捷鍵在IDE中使用快捷鍵比使用鼠標(biāo)更為高效。下表給出CodeBolcks默認(rèn)的快捷鍵。(譯者注:筆者將CodeBlocks中的快捷鍵設(shè)置為與VS大體一致,使用CodeBlocks時(shí)非常順手。)FunctionShortcutKeyUndolastactionCtrl+ZRedolastactionCtrl+Shift+ZCutselectedtextCtrl+XCopyselectedtextCtrl+CPastetextfromclipboardCtrl+VSelectalltextCtrl+ASwapheader/sourceF11CommenthighlightedcodeCtrl+Shift+CCodeBlocks詳細(xì)使用手冊(cè)全文共20頁(yè),當(dāng)前為第20頁(yè)。UncommenthighlightedcodeCtrl+Shift+XCodeBlocks詳細(xì)使用手冊(cè)全文共20頁(yè),當(dāng)前為第20頁(yè)。DuplicatelinecaretisonCtrl+DAuto-complete/AbbreviationsCtrl+Space/Ctrl+JShowcalltipCtrl+Shift+SpaceSwaplinecaretisonwithlineaboveitCtrl+TTogglebookmarkCtrl+BGotopreviousbookmarkAlt+PgUpGotonextbookmarkAlt+PgDownTogglecurrentblockfoldingF12ToggleallfoldsShift+F12CodeBlocks代碼編輯器組件提供的快捷鍵,這些快捷鍵不能重新綁定(rebound)。FunctionShortcutKeyMagnifytextsize.Ctrl+Keypad"+"Reducetextsize.Ctrl+Keypad"-"Restoretextsizetonormal.Ctrl+Keypad"/"Cyclethroughrecentfiles.Ctrl+TabIndentblock.TabDedentblock.Shift+TabDeletetostartofword.Ctrl+BackSpaceDeletetoendofword.Ctrl+DeleteDeletetostartofline.Ctrl+Shift+BackSpaceDeletetoendofline.Ctrl+Shift+DeleteGotostartofdocument.Ctrl+HomeExtendselectiontostartofdocument.Ctrl+Shift+HomeGotostartofdisplayline.Alt+HomeExtendselectiontostartofdisplayline.Alt+Shift+HomeGotoendofdocument.Ctrl+EndExtendselectiontoendofdocument.Ctrl+Shift+EndGotoendofdisplayline.Alt+EndExtendselectiontoendofdisplayline.Alt+Shift+EndExpandorcontractafoldpoint.Ctrl+Keypad"*"Createordeleteabookmark.Ctrl+F2Gotonextbookmark.F2Selecttonextbookmark.Alt+F2Findselection.Ctrl+F3Findselectionbackwards.Ctrl+Shift+F3Scrollup.Ctrl+UpScrolldown.Ctrl+DownLinecut.Ctrl+LLinecopy.Ctrl+Shift+TLinedelete.Ctrl+Shift+LLinetransposewithprevious.Ctrl+TCodeBlocks詳細(xì)使用手冊(cè)全文共21頁(yè),當(dāng)前為第21頁(yè)。Lineduplicate.Ctrl+DCodeBlocks詳細(xì)使用手冊(cè)全文共21頁(yè),當(dāng)前為第21頁(yè)。Findmatchingpreprocessorconditional,skippingnestedones.Ctrl+KSelecttomatchingpreprocessorconditional.Ctrl+Shift+KFindmatchingpreprocessorconditionalbackwards,skippingnestedones.Ctrl+JSelecttomatchingpreprocessorconditionalbackwards.Ctrl+Shift+JPreviousparagraph.Shiftextendsselection.Ctrl+[Nextparagraph.Shiftextendsselection.Ctrl+]Previousword.Shiftextendsselection.Ctrl+LeftNextword.Shiftextendsselection.Ctrl+RightPreviouswordpart.Shiftextendsselection.Ctrl+/Nextwordpart.Shiftextendsselection.Ctrl+\FilesFunctionShort
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同范本里購(gòu)買
- 原料代加工合同范本
- 公司股權(quán)抵押合同范本
- 玻璃供貨合同范本
- 小區(qū)燈具合同范本
- 醫(yī)院物業(yè)租賃合同范本
- 合伙干股合同范本
- 合同范本模板簡(jiǎn)約
- 買牦牛合同范本
- 單位設(shè)計(jì)合同范本
- 點(diǎn)亮生命-大學(xué)生職業(yè)生涯發(fā)展與就業(yè)指導(dǎo)全套教學(xué)課件
- 特殊作業(yè)現(xiàn)場(chǎng)監(jiān)護(hù)人安全培訓(xùn)課件
- 《會(huì)計(jì)發(fā)展史》課件
- 無(wú)人駕駛系統(tǒng)與智能車輛應(yīng)用技術(shù)實(shí)訓(xùn)教程
- 幼兒同伴關(guān)系對(duì)幼兒社會(huì)性發(fā)展的研究開題報(bào)告
- 學(xué)校食堂膳食營(yíng)養(yǎng)培訓(xùn)課件
- 環(huán)境修復(fù)原理與技術(shù)-第5章-污染環(huán)境的植物修復(fù)原理
- 2024年1月浙江省首考普通高等學(xué)校招生全國(guó)統(tǒng)一考試英語(yǔ)試題
- 手術(shù)部位感染預(yù)防控制措施
- 《陜西省安全生產(chǎn)條例》考核試題
- 大班PPT課件《拍手歌》
評(píng)論
0/150
提交評(píng)論