




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
筆者打算用兩篇日志來(lái)完畢對(duì)Code::Blocks手冊(cè)前二章的編譯,分別是:使用篇、插件篇。本文是第一篇:Code::Blocks使用篇。原手冊(cè)第三章介紹Code::Blocks變量、腳本的使用,第四章介紹如何從源碼編譯Code::Blocks,這兩章內(nèi)容不是諸多,筆者認(rèn)為對(duì)大部分顧客協(xié)助不是不大,暫不打算翻譯。筆者使用的Code::Block版本是nightlybuilds,svn6088(能夠在這個(gè)地址下載:,11875.0.html)。使用的編譯器是GCC3.4.5。每個(gè)版本之間的使用可能會(huì)有細(xì)微的差別。Code::Blocks手冊(cè)Version1.0感謝CodeBlocks項(xiàng)目組:AndersF.Bjorklund(afb),BiplabKumarModak(biplab),Bartomiejwiecki(byo),PaulA.Jimenez(ceniza),KoaChongGee(cyberkoa),DanielOrb(daniel),LievendeCock(killerbot),YiannisMandravellos(mandrav),Mispunt(mispunt),MartinHalle(morten-macy),JensLody(jens),JeromeAntoine(dje),DamienMoore(dmoore),PecanHeber(pecan),RicardoGarcia(rickg22),ThomasDenk(thomasdenk),tiwag(tiwag)Permissionisgrantedtocopy,distributeand/ormodifythisdocumentunderthetermsoftheGNUFreeDocumentationLicense,Version1.2oranylaterversionpublishedbytheFreeSoftwareFoundation.1CodeBlocks項(xiàng)目管理下圖是CodeBlocks運(yùn)行時(shí)的顧客界面:管理(Management):管理窗口包含Project視圖與Symbols視圖。Project視圖顯示現(xiàn)在CodeBlocks打開(kāi)的全部項(xiàng)目(譯者注:類似與VS解決方案資源管理器);Symbols視圖顯示項(xiàng)目中的標(biāo)記符:類,函數(shù)、變量等信息(譯者注:類似與VS的類視圖)。代碼編輯器:支持代碼折疊,核心字高亮顯示。上圖main.cpp正在被編輯。打開(kāi)文獻(xiàn)列表:顯示現(xiàn)在在代碼編輯器中打開(kāi)的全部文獻(xiàn)列表。上圖中打開(kāi)的文獻(xiàn)列表為:main.cpp,person.cpp,person.hpp代碼段(CodeSnippets):管理慣用的代碼段、慣用文獻(xiàn)鏈接(linkstofiles)與URL。能夠通過(guò)菜單View->CodeSnippets來(lái)顯示該面板。日志和其它:這個(gè)窗口用于輸出日志信息,顯示查詢成果等等。狀態(tài)欄提供了下列這些信息:編輯器中打開(kāi)文獻(xiàn)的絕對(duì)途徑;文獻(xiàn)的編碼類型;光標(biāo)所在的行與列;現(xiàn)在的鍵盤模式(insert或者overwrite);現(xiàn)在的文獻(xiàn)狀態(tài)。被修改正的(但尚未保存)文獻(xiàn)將被標(biāo)記為“modified”,否則這里為空;文獻(xiàn)操作的權(quán)限。如果文獻(xiàn)是只讀的,這里將會(huì)顯示“Readonly”,在Openfileslist中,該文獻(xiàn)會(huì)使用一種加瑣的圖標(biāo)來(lái)顯示;個(gè)性化配備名稱;CodeBlocks提示了非常靈活和強(qiáng)大的項(xiàng)目管理功效。下文將介紹項(xiàng)目管理的某些慣用功效。項(xiàng)目視圖(ProjectView)在CodeBlocks中,Project的源文獻(xiàn)(如C/C++的源文獻(xiàn)及其對(duì)應(yīng)的頭文獻(xiàn))和編譯屬性設(shè)立信息都保存在<name>.cbp文獻(xiàn)里。能夠通過(guò)菜單[File–>Project]啟開(kāi)工程創(chuàng)立向?qū)?lái)創(chuàng)立新的Project,然后通過(guò)管理窗口的上下文菜單[Addfiles](譯者注:上下文菜單,指現(xiàn)在窗口中選中目的項(xiàng)目,然后右鍵顯示的菜單)向Project中添加文獻(xiàn)。CodeBlocks會(huì)自動(dòng)根據(jù)文獻(xiàn)的后綴將它們放入不同的類別文獻(xiàn)夾中(譯者注:這個(gè)文獻(xiàn)夾是虛擬的,實(shí)際并不存在)。下面是默認(rèn)的分類:Sources:包含源文獻(xiàn),后綴為*.c、*.cpp;ASMSources:涉及匯編源文獻(xiàn),后綴普通為*.s、*.S、*.ss、*.asm;Headers:涉及頭文獻(xiàn),后綴普通為*.h、*.hpp;Resources:涉及資源文獻(xiàn),后綴普通為*.res、*.xrc;通過(guò)管理窗口的上下文菜單[Projecttree–>Editfiletypes&categories],顧客能夠新建自定義的文獻(xiàn)類別,并為其對(duì)應(yīng)的后綴。例如,如果你但愿*.ld的文獻(xiàn)放到Linkerscript的分類里,你只需新建類別Linkerscript,并為它指定*.ld后綴即可。提示:如果你取消選中管理窗口上下文菜單的[Projecttree–>Categorizebyfiletypes]選項(xiàng),全部的項(xiàng)目文獻(xiàn)將會(huì)按它們?cè)谖墨I(xiàn)系統(tǒng)中的位置來(lái)顯示。1.2項(xiàng)目備注(NotesforProjects)能夠給CodeBlocks項(xiàng)目添加某些備注,用于對(duì)項(xiàng)目進(jìn)行概要的描述與闡明,這些信息有助于其它組員快速的理解項(xiàng)目。備注信息被保存在項(xiàng)目工程文獻(xiàn)里,并能夠設(shè)立為隨著項(xiàng)目的啟動(dòng)而顯示。如圖: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)的模板文獻(xiàn)拷貝到CodeBlocks的安裝目錄。模板在CodeBlocks重啟之后生效,通過(guò)菜單[New->Project->Usertemplates]就能夠看到自定義的模板。提示:顧客能夠通過(guò)右鍵選中工程向?qū)е械哪0鍖?duì)其進(jìn)行編輯。以下圖:1.4從編譯模式創(chuàng)立項(xiàng)目(CreateProjectsfromBuildTargets)一種項(xiàng)目往往有不同的編譯模式,最常見(jiàn)的是Release和Debug。不同的編譯模式表達(dá)用于構(gòu)建現(xiàn)在項(xiàng)目所使用的不同編譯器選項(xiàng)、調(diào)試信息或者依賴的文獻(xiàn)。每一種編譯模式都能夠被保存成獨(dú)立的工程文獻(xiàn)。通過(guò)上下文菜單[Project->Properties],在BuildTargets標(biāo)簽中點(diǎn)擊“Createprojectfromtarget”按鈕來(lái)生成對(duì)應(yīng)編譯模式的工程文獻(xiàn),如圖:1.5編譯模式(VirtualTargets)一種項(xiàng)目能夠有多個(gè)不同的編譯模式,最慣用的編譯模式為“Debug”和“Release”?!癉ebug”模式下會(huì)包含許多Debug信息,而“Release”模式下沒(méi)有這些信息。也能夠通過(guò)上下文菜單[Project->Properties->BuildTargets]添加其它的編譯模式。編譯模式將顯示在工具欄中:1.6預(yù)生成和生成后環(huán)節(jié)(Pre-andPostbuildsetps)Code::blocks允許在項(xiàng)目生成前和生成后執(zhí)行額外的操作,這些操作分別被稱為預(yù)生成(Prebuilt)或生成后(Postbuilt)環(huán)節(jié)。下面是典型的生成后環(huán)節(jié):(譯者注:筆者對(duì)低層的東西懂得的不多,不是很清晰下面這些環(huán)節(jié)的意思。)CreatinganIntelHexformatfromanishedobjectManipulatingobjectsbyobjcopyGeneratingdumplesbyobjdump1.7為構(gòu)建目的添加腳本(AddingScriptsinBuildTargets)Code::Blocks允許使用腳原來(lái)調(diào)用菜單命令,控制項(xiàng)目的生成。提示:腳本能夠被包含到一種構(gòu)建目的(BuildTarget)中。1.8解決方案(Workspace)與項(xiàng)目依賴CodeBlocks能夠同時(shí)打開(kāi)多個(gè)項(xiàng)目,通過(guò)菜單[File->Saveworkspace]把它們集成到一種解決方案中,并生成一種對(duì)應(yīng)的解決方案文獻(xiàn)(<name>.workspace)。下次打開(kāi)解析方案文獻(xiàn)(<name>.workspace)時(shí),這些項(xiàng)目會(huì)被一起加載進(jìn)來(lái)。復(fù)雜的軟件系統(tǒng)普通由不同的模塊、組件以獨(dú)立的工程項(xiàng)目構(gòu)成,它們之間往往存在依賴關(guān)系。例如:項(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)目依賴的信息保存到解決方案文獻(xiàn)中,因此解決方案中的工程能夠各自獨(dú)立的創(chuàng)立、編譯而不互相影響(譯者注:由解決方案文獻(xiàn)來(lái)維護(hù)各項(xiàng)目的依賴關(guān)系)。這些依賴關(guān)系會(huì)決定項(xiàng)目的生成次序。通過(guò)菜單[Project->Properties],然后選擇[Project’sdependencies]按鈕來(lái)設(shè)立項(xiàng)目之間的依賴關(guān)系。以下圖:1.9包含匯編文獻(xiàn)略。1.10代碼編輯器與工具(EditorandTools)1.10.1默認(rèn)代碼(DefaultCode)公司的編碼規(guī)范往往規(guī)定源文獻(xiàn)有統(tǒng)一的布局(譯者注:例如源文獻(xiàn)的開(kāi)始處以統(tǒng)一的格式給出文獻(xiàn)創(chuàng)立的時(shí)間、作者、實(shí)現(xiàn)的功效描述等有關(guān)信息)。CodeBlocks允許預(yù)定義某些內(nèi)容,當(dāng)新建C/C++文獻(xiàn)時(shí)這些內(nèi)容會(huì)自動(dòng)添加到文獻(xiàn)的開(kāi)始處。這里把預(yù)定義的內(nèi)容稱為defaultcode。能夠通過(guò)菜單[Settings–>Editor–>DefaultCode]來(lái)設(shè)立defaulgcode,通過(guò)菜單[File->New->File]創(chuàng)立的代碼文獻(xiàn)將自動(dòng)添加上defaultcode。例如:/**************************************************************************Project:*Function:**************************************************************************$Author:mario$*$Name:$***************************************************************************Copyrightbycompanyname*************************************************************************/1.10.2縮寫(Abbreviation)定義一種慣用的代碼片斷[typing],并給它提供一種名字[Abbreviation],在寫程序的時(shí)候,只要給出這個(gè)名字,然后按快捷鍵Ctrl+J,CodeBlocks就會(huì)用預(yù)先定義的代碼片斷來(lái)替代該名字。(譯者注:VS中也有類似的功效,在C#程序時(shí),只要寫出核心字for,然后持續(xù)按兩次Tab鍵,編輯器會(huì)自動(dòng)生成for語(yǔ)句的框架,是不是很方便?~_~)。通過(guò)菜單[Settings->Editor]來(lái)設(shè)立Abbreviation,以下圖:abbreviation也支持參數(shù)變量(Parametrisation)(如:$NOW表達(dá)現(xiàn)在時(shí)間)。如:-->1.10.3個(gè)性化(Personalities)CodeBlocks的配備信息被作為應(yīng)用程序數(shù)據(jù)而保存在codeblocks文獻(xiàn)夾的<user>.conf文獻(xiàn)中。該配備文獻(xiàn)中保存的信息涉及:上次打開(kāi)的項(xiàng)目、代碼編輯器的設(shè)立、符號(hào)欄顯示等等。默認(rèn)的個(gè)性化設(shè)立被保存在default.conf文獻(xiàn)中。通過(guò)命令行參數(shù)-personality=myuser來(lái)調(diào)用CodeBlocks,配備信息將被保存到myuser.conf中。如果該文獻(xiàn)不存在,系統(tǒng)將自動(dòng)創(chuàng)立它。如果以命令行的方式來(lái)啟動(dòng)CodeBlocks,并傳遞命令參數(shù)--personality=ask,將會(huì)顯列出現(xiàn)在全部的修改化配備列表,顧客選擇其一啟動(dòng)CodeBlocks。以下圖:1.10.4配備文獻(xiàn)(ConfigurationFiles)CodeBlocks的配備信息保存在codeblocks目錄下的default.conf文獻(xiàn)中。當(dāng)使用個(gè)性化設(shè)立的時(shí)候,配備信息將被保存到<personality>.conf文獻(xiàn)里。cb_share_conf(一種輔助工具,能夠在CodeBlocks安裝目錄里找到)被用來(lái)管理與保存這些設(shè)立信息。如果你想為電腦的不同賬戶定義一種公用的默認(rèn)設(shè)立,defual.conf文獻(xiàn)應(yīng)當(dāng)被保存到\DocumentsandSettings\DefaultUser\ApplicationData\codeblocks。CodeBlocks在第一次啟動(dòng)的時(shí)候,會(huì)將該配備文獻(xiàn)拷貝到現(xiàn)在賬戶的applicationdata目錄下(并作為現(xiàn)在帳戶的配備文獻(xiàn))。如果想在usb設(shè)備上創(chuàng)立一種綠色版本號(hào)的CodeBlocks,請(qǐng)執(zhí)行下面環(huán)節(jié):將CodeBlocks安裝目錄拷貝到usb設(shè)備上,將配備文獻(xiàn)default.conf拷貝到該目錄中,該配備文獻(xiàn)將被用于全局的設(shè)立。確保系統(tǒng)有權(quán)限對(duì)該文獻(xiàn)進(jìn)行寫入,否則CodeBlocks對(duì)配備文獻(xiàn)的修改將不會(huì)被保存。1.10.5導(dǎo)航與搜索(NavigateandSearch)CodeBlocks提供了諸多辦法用于文獻(xiàn)和函數(shù)之間導(dǎo)航。書簽就是最慣用的一種方式。通過(guò)快捷鍵Ctrl+B在源文獻(xiàn)中設(shè)立/刪除一種書簽,通過(guò)Alt+PgUp或Alt+PgDn在不同的書簽之間跳轉(zhuǎn)。在管理窗口的Project視圖中選中解決方案或項(xiàng)目,右鍵點(diǎn)擊在彈出菜單中選擇[Findfile],輸入你查找的文獻(xiàn)名稱,然后回車,該文獻(xiàn)將被選中(如果文獻(xiàn)存在的話),再按回車,編輯器就會(huì)打開(kāi)該文獻(xiàn)。以下圖:在CodeBlocks中,你能夠很容易的在頭文獻(xiàn)與源文獻(xiàn)之間導(dǎo)航:1.將光標(biāo)置于頭文獻(xiàn)被包含處(例如:#include“header.hpp”),右鍵選擇性“openincludefile”,編輯器將打開(kāi)該包含文獻(xiàn)。(譯者注:能夠在VS中使用快捷鍵Ctrl+Shift+G實(shí)現(xiàn)同樣的操作。這個(gè)功效非常方便,特別是要查看源代碼時(shí)。)2.通過(guò)右鍵菜單的[Swapheader/source],在頭文獻(xiàn)與源文獻(xiàn)之間切換。3.選中一種定義(如變量名,類型名等等),在右鍵菜單中選擇[Finddeclaration],編輯器就會(huì)打開(kāi)該定義的聲明。(譯者注:能夠使用右鍵菜單的[Findimplementation]定位到函數(shù)的實(shí)現(xiàn)處,在VS中使用快捷鍵F12實(shí)現(xiàn)同樣的操作。這也是一種非常方便的功效。)。CodeBlocks提供多個(gè)方式用于對(duì)單個(gè)文獻(xiàn)或整個(gè)目錄進(jìn)行搜索。通過(guò)菜單[Search->Find]或[Search–>FindinFiles]來(lái)打開(kāi)搜索對(duì)話框。Alt+G和Ctrl+Alt+G這兩個(gè)快捷鍵用于打開(kāi)文獻(xiàn)/函數(shù)跳轉(zhuǎn)對(duì)話框,只要輸入文獻(xiàn)/函數(shù)的名稱,就能夠很方便的跳轉(zhuǎn)到指定文獻(xiàn)或函數(shù)。文獻(xiàn)名/函數(shù)名搜索還支持*和?等能配符。(譯者注:能夠使用VisualAssist插件在VS中實(shí)現(xiàn)類似的功效。這兩個(gè)功效真的很方便實(shí)用。)提示:使用Ctrl+PgUp和Ctrl+PgDn能夠在前后函數(shù)之間跳轉(zhuǎn)。在文本編輯器中,使用快捷鍵Ctrl+Tag能夠在現(xiàn)在全部打開(kāi)的文獻(xiàn)之間跳轉(zhuǎn)。(譯者注:VS也有類似的功效,并且快捷鍵也是Ctrl+Tag,這是巧合嗎?)顯示行號(hào)。通過(guò)菜單[Settings->GeneralSettings],選中[Showlinenumbers]來(lái)顯示行號(hào)。使用快捷鍵Ctrl+G能夠快速的跳轉(zhuǎn)到指定行。1.10.6符號(hào)視圖(Symbolview)CodeBlocks管理窗口提供的符號(hào)視圖,以樹的形式顯示(導(dǎo)航)C/C++源文獻(xiàn)中的類、函數(shù)、變量定義。能夠選擇符號(hào)顯示的區(qū)域是:現(xiàn)在文獻(xiàn)、現(xiàn)在項(xiàng)目、整個(gè)解決方案。(譯者注:與VS的類視圖面板實(shí)現(xiàn)類似的功效。)提示:在搜索輸入框中輸入符號(hào)的名稱,符號(hào)瀏覽器將會(huì)過(guò)濾不符條件的符號(hào)。符號(hào)視圖將符號(hào)分為以下分類:Globalfunctions:全局函數(shù);Globaltypedefs:通過(guò)typedef定義的別名;Globalvariables:全局變量;Preprocessorsymbols:通過(guò)#define宏定義的預(yù)解決批示符;構(gòu)造和類的定義顯示在pre-processorsymbols下面。如果一種分類被選中,屬于該分類的標(biāo)記符將顯示在視圖的下半部分。雙擊這些標(biāo)記符,代碼編輯器將定位到定義這些標(biāo)記符的文獻(xiàn)所在處。1.10.7集成外部的協(xié)助文檔CodeBlocks支持添加外部的協(xié)助文檔集成到開(kāi)發(fā)環(huán)境中。通過(guò)菜單[Settings->Environment]來(lái)設(shè)立。把你選擇的chm格式的文檔以添加到HelpFiles,并將其作為默認(rèn)的協(xié)助文檔,在編輯器中選擇一種函數(shù),對(duì)應(yīng)的文檔就會(huì)出現(xiàn)通過(guò)快捷鍵F1?!?.10.8集成外部工具通過(guò)菜單[Tools->ConfigurationTools–>Add],把外部工具集成到CodeBlocks開(kāi)發(fā)環(huán)境中。這些外部的工具允許以參數(shù)的形式訪問(wèn)CodeBlocks的內(nèi)建(Built-in)變量(如現(xiàn)在項(xiàng)目所在的文獻(xiàn)夾${PROJECT_DIR})。運(yùn)用這個(gè)功效,我們給CodeBlocks添加一種菜單項(xiàng):打開(kāi)現(xiàn)在項(xiàng)目所在的文獻(xiàn)夾。請(qǐng)看圖:(譯者注:這是一種非常實(shí)用的功效。運(yùn)用這個(gè)功效,我在我的CodeBlocks中,添加了三個(gè)我最慣用的菜單項(xiàng):使用Notepad++打開(kāi)現(xiàn)在文獻(xiàn);打開(kāi)現(xiàn)在項(xiàng)目所在的文獻(xiàn)夾;以Dos窗口打開(kāi)現(xiàn)在文獻(xiàn)夾。爽歪歪~~)1.11使用CodeBlocks的小提示(Tips)這節(jié)我們將展示某些CodeBlocks非常有用的提示。1.11.1修改跟蹤(TrackingofModifications)CodeBlocks通過(guò)行號(hào)旁邊的小堅(jiān)條顏色來(lái)跟蹤源文獻(xiàn)的修改。未保存的修改行將被標(biāo)記為黃色,而已保存的修改行標(biāo)記為綠色。你能夠通過(guò)菜單[Search->Gotonextchangedline]或者[Search->Gotopreviouschangedline]在修改內(nèi)容之間導(dǎo)航(對(duì)應(yīng)的快捷鍵是Ctrl+F3和Ctrl+Shift+F3)。(譯者注:VS也提供類型的功效。)能夠通過(guò)菜單[Settings->Editor->Marginsandcaret],取消選中[UseChangebar]來(lái)取消該功效。提示:如果文獻(xiàn)被關(guān)閉,統(tǒng)計(jì)在該文獻(xiàn)上的undo/redo信息和修改標(biāo)記(changebars)將會(huì)清空。如果文獻(xiàn)解決打開(kāi)狀態(tài),能夠通過(guò)菜單[Edit->Clearchangeshistory]或者右鍵菜單對(duì)應(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>”)現(xiàn)在能夠使用的命令:Open:命令[Open(“D:\Temp\test.txt”)],在CodeBlocks實(shí)例中(或者啟動(dòng)新的CodeBlocks進(jìn)程,如果需要的話)打開(kāi)一種文獻(xiàn)。OpenLine:命令[OpenLine(“D:\Temp\test.txt:10”)],在CodeBlocks中打開(kāi)文獻(xiàn),并定位到指定行數(shù),冒號(hào)背面的數(shù)字用于指定行號(hào)。(譯者注:不是很明白原文的意思:ThiscommandopensaleatagivenlinenumberinaCodeBlocksinstance.)Raise:讓CodeBlocks實(shí)例獲得焦點(diǎn)。不就給該命令提供參數(shù)。1.11.3配備環(huán)境變量操作系統(tǒng)的配備信息被定義在環(huán)境變量中。例如環(huán)境變量Path包含一種編譯器的安裝目錄途徑,操作系統(tǒng)在運(yùn)行期間都能夠隨時(shí)訪問(wèn)該環(huán)境變量。如果同一編譯器的另一種版本被安裝,就可能會(huì)發(fā)生錯(cuò)誤,如:調(diào)用的編譯器版本不對(duì)的。有時(shí)候由于項(xiàng)目的需要,必須在同一機(jī)器上安裝同一編譯器的不同版本。為了避免上述錯(cuò)誤的發(fā)生,能夠在項(xiàng)目啟動(dòng)之前修改環(huán)境變量。顯然,這個(gè)辦法很容易出錯(cuò),很不靈活?;谶@個(gè)問(wèn)題,CodeBlocks提供了一種簡(jiǎn)樸的解決辦法:創(chuàng)立不同版本的、只能在CodeBlocks內(nèi)使用的環(huán)境變量,然后根據(jù)項(xiàng)目的需要選擇適宜的版本環(huán)境變量。通過(guò)菜單[Settings->Environment],在EnvironmentVaribales面板中點(diǎn)擊Create按鈕創(chuàng)立不同版本的環(huán)境變量,以下圖:1.11.4切換布局CodeBlocks能夠根據(jù)手頭任務(wù)的需要選擇不同的配備/視圖,并保存這些配備/視圖。默認(rèn)狀況下這些配備保存在default.conf文獻(xiàn)里。以命令行方式啟動(dòng)Cdoeblocks,并傳遞--personality=ask參數(shù),就能夠在列出的個(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)保存\切換布局,以下圖:)1.11.5項(xiàng)目切換多個(gè)項(xiàng)目同時(shí)在CodeBlocks中打開(kāi)時(shí),顧客但愿快速的在這些項(xiàng)目之間切換。CodeBlocks提供一組快捷鍵來(lái)實(shí)現(xiàn):Alt+F5:將視圖中前一種項(xiàng)目設(shè)為激活(Active)項(xiàng)目。(譯者注:類似于VS中將某個(gè)項(xiàng)目設(shè)為啟動(dòng)項(xiàng)目。)Alt+F6:將視圖中后一種項(xiàng)目設(shè)為激活項(xiàng)目。F11:在編輯器中切換源文獻(xiàn)(name.cpp)和頭文獻(xiàn)(name.h)。1.11.6擴(kuò)展編譯器設(shè)立在編譯一種項(xiàng)目的過(guò)程中,編譯信息將會(huì)顯示在消息窗口的BuildLog視圖中。如果你想獲取更具體的編譯信息,通過(guò)菜單[Settings->CompilerandDebugger],在OtherSettings面板中選擇Compilerlogging下拉列表項(xiàng):“Fullcommandline”選項(xiàng)意味著將在BuildLog視圖中顯示全部的編譯信息。能夠?qū)⑦@些日志信息保存為HTML文獻(xiàn),通過(guò)選中”SavebuildlogtoHTMLfilewhenfinished’。另外,通過(guò)選中”Displaybuildprocessbar”,CodeBlocks支持在BuildLog視圖中顯示編譯進(jìn)度。1.11.7編輯器縮放CodeBlocks提供了一種非常高效的編輯器。這個(gè)編輯器允許你縮放打開(kāi)文本的字體大小。如果你的鼠標(biāo)有滾輪,你只要按住Ctrl鍵,同時(shí)滾支鼠標(biāo)滾輪,就能夠?qū)崿F(xiàn)文本的縮放。提示:通過(guò)菜單[Edit->Specialcommands->Zoom->Reset]來(lái)重置縮放。1.11.8自動(dòng)換行模式在CodeBlcoks中打開(kāi)一種文本文獻(xiàn),使用自動(dòng)換行模式能夠?qū)⒑荛L(zhǎng)的行以多行的形式顯示在一種屏幕內(nèi),有助于編輯。通過(guò)菜單[Settings->Editor->OtherOptions],選中Wordwarp來(lái)激活自動(dòng)換行模式?!?.11.9塊選文本CodeBlocks支持在代碼編輯器中塊選文本。按住Alt鍵的同時(shí)按住鼠標(biāo)左鍵在編輯器選擇一塊區(qū)域。如果你想選擇數(shù)組的幾列進(jìn)行復(fù)制和粘貼,這個(gè)功效是非常有用的(譯者注:VS也提示類似的功效,快捷鍵也同樣。)。如圖:1.11.10代碼折疊CodeBlocks支持代碼折疊,允許將函數(shù)、類的實(shí)現(xiàn)折疊起來(lái)。提示:通過(guò)菜單[Settings->Editor->Folding],能夠設(shè)立代碼折疊的樣式和層次限制(depthlimit)。1.11.11自動(dòng)完畢在CodeBlocks中打開(kāi)一種項(xiàng)目時(shí),編譯器的有關(guān)目錄(include目錄)與項(xiàng)目的源文獻(xiàn)/頭文獻(xiàn)將被解析,提取有關(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],你能夠添加自定義的核心字。1.11.12查找破損文獻(xiàn)(Findbrokenfiles)如果一種文獻(xiàn)已經(jīng)從磁盤中刪除,但它仍然被包含在項(xiàng)目文獻(xiàn)(project.cbp)中(譯者注:項(xiàng)目的文獻(xiàn)信息保存在*.cbp文獻(xiàn)里。),這個(gè)文獻(xiàn)在項(xiàng)目面板中顯示一種破損符號(hào)(以下圖)。應(yīng)當(dāng)通過(guò)上下文菜單[Removefilefromproject]將它從項(xiàng)目中移除。一種大的工程可能包含許多子文獻(xiàn)夾,搜索破損文獻(xiàn)會(huì)非常耗費(fèi)時(shí)間。CodeBlocks提供ThreadSearch插件來(lái)解決這個(gè)問(wèn)題。在ThreadSearch中輸入要查找的體現(xiàn)式,并設(shè)立查找的范疇:“Projectfiles”或者“Workspacefiles”,ThreadSearch將會(huì)分析全部涉及在項(xiàng)目或者解決方案中的文獻(xiàn)。當(dāng)ThreadSearch找到一種跋損文獻(xiàn)的時(shí)候,會(huì)發(fā)出一種文獻(xiàn)丟失的錯(cuò)誤。1.11.13包含庫(kù)在項(xiàng)目的編譯選項(xiàng)中,你能夠通過(guò)”Add”按鍵添加項(xiàng)目所使用的庫(kù)。庫(kù)能夠以絕對(duì)途徑的形式給出,也能夠只給出名稱而無(wú)需提供lib前綴和文獻(xiàn)擴(kuò)展名。例如:存在這樣的一種庫(kù)文獻(xiàn):<path>\libs\lib<name>.a,只要給出<name>,鏈接器就能夠找到對(duì)應(yīng)的庫(kù)文獻(xiàn)。1.11.14對(duì)象鏈接次序在編譯過(guò)程中,源文獻(xiàn)name.c/cpp將會(huì)被編譯成目的文獻(xiàn)name.o,然后鏈接器把獨(dú)立的目的文獻(xiàn)鏈接成可執(zhí)行文獻(xiàn)name.exe(對(duì)于嵌入式系統(tǒng),將鏈接成name.elf)。這種狀況下,可能需要預(yù)先定義對(duì)象鏈接的次序。在CodeBlocks中,能夠設(shè)立有關(guān)源文獻(xiàn)的優(yōu)先級(jí)來(lái)實(shí)現(xiàn)。在上下文菜單中選擇[Properties],在Build標(biāo)簽中定義。較低優(yōu)先級(jí)使文獻(xiàn)較先鏈接。1.11.15自動(dòng)保存CodeBlcoks允許自動(dòng)保存現(xiàn)在正在編輯的文獻(xiàn)和項(xiàng)目,或者對(duì)它們進(jìn)行備份。能夠通過(guò)菜單[Settings->Environment->Autosave]來(lái)激活該功效。1.11.16文獻(xiàn)擴(kuò)展名設(shè)立在CodeBlocks中,能夠選擇多次方式來(lái)解決文獻(xiàn)不同后綴的文獻(xiàn),能夠在菜單[Settings->Environmentsettings->Filesextensionhandling]設(shè)立對(duì)應(yīng)的解決方式:“Launchanexternalprogram”指定外部程序來(lái)打開(kāi)文獻(xiàn);“Launchtheassociatedapplication”使用系統(tǒng)默認(rèn)程序來(lái)打開(kāi)文獻(xiàn);“OpenitinCode::Blockseditor”使用Code::Blocks編輯器來(lái)打開(kāi)文獻(xiàn)。以下圖:1.12通過(guò)命令行操作CodeBlocksCodeBlocks能夠通過(guò)命令行來(lái)運(yùn)行。在這種狀況下,需要通過(guò)某些選項(xiàng)來(lái)控制項(xiàng)目的構(gòu)建過(guò)程。由于CodeBlocks是scriptable的,因此CodeBlocks項(xiàng)目的構(gòu)建能夠集成到你自己的工作過(guò)程中。codeblocks.exe/na/nd--no-splash-screen--built<name>.cbp--target=’Release’<filename>指定CodeBlock項(xiàng)目文獻(xiàn)(*.cbp)或解決方案文獻(xiàn)(*.workspace)。--file=<filename>[:line]:使用CodeBlocks打開(kāi)指定文獻(xiàn)??蛇x的行號(hào)批示代碼編輯器跳轉(zhuǎn)到該行。/h,--help:顯示協(xié)助信息。/na,--no-check-associations:不執(zhí)行文獻(xiàn)關(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ù)文獻(xiàn)夾的前綴/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>:重定向原則輸出到日志文獻(xià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+CUncommenthighlightedcodeCtrl+Shift+XDuplicatelinecaretisonCtrl+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+TLineduplicate.Ctrl+DFindmatchingpreprocessorconditional,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.Sh
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑土坡治理施工方案
- aq2006尾礦庫(kù)安全技術(shù)規(guī)程
- 玻璃橋維護(hù)施工方案
- 2025年蘭考三農(nóng)職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)審定版
- 2025年黃河交通學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案
- 2025年重慶市樂(lè)山市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)帶答案
- 2025年大慶醫(yī)學(xué)高等專科學(xué)校單招職業(yè)適應(yīng)性測(cè)試題庫(kù)參考答案
- 2025年哈爾濱傳媒職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)新版
- 5 g k h 教學(xué)設(shè)計(jì)-2024-2025學(xué)年語(yǔ)文一年級(jí)上冊(cè)統(tǒng)編版
- 環(huán)境科學(xué)與工程環(huán)境保護(hù)法規(guī)及案例分析試卷解析
- 住房公積金補(bǔ)償協(xié)議書
- 社會(huì)救助綜合信息管理平臺(tái)
- 中小學(xué)校傳染病預(yù)防控制工作管理規(guī)范及常見(jiàn)傳染病預(yù)課件
- 住宅項(xiàng)目實(shí)體樣板展示工藝策劃圖文并茂
- 數(shù)控車床操作培訓(xùn)課件
- 設(shè)備安裝工程監(jiān)理方案
- 工程經(jīng)濟(jì)學(xué)-邵穎紅-第五版-課后作業(yè)
- 湖北省中小學(xué)教師水平能力測(cè)試題
- 碩士研究生專業(yè)研究方向證明(模板)
- 遼寧職業(yè)技術(shù)學(xué)院?jiǎn)握小堵殰y(cè)》考前特訓(xùn)復(fù)習(xí)題庫(kù)(含答案)
- 美的財(cái)務(wù)報(bào)表
評(píng)論
0/150
提交評(píng)論