CodeBlocks詳細(xì)使用手冊(cè)免費(fèi)_第1頁(yè)
CodeBlocks詳細(xì)使用手冊(cè)免費(fèi)_第2頁(yè)
CodeBlocks詳細(xì)使用手冊(cè)免費(fèi)_第3頁(yè)
CodeBlocks詳細(xì)使用手冊(cè)免費(fèi)_第4頁(yè)
CodeBlocks詳細(xì)使用手冊(cè)免費(fèi)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、筆者打算用兩篇日志來(lái)完成對(duì) Code:Blocks手冊(cè)前二章的編譯,分別是:使用篇、插件篇。本文 是第一篇:Code:Blocks使用篇。原手冊(cè)第三章介紹 Code:Blocks變量、腳本的使用,第四章 介紹如何從源碼編譯Code:Block§這兩章內(nèi)容不是很多,筆者認(rèn)為對(duì)大部分用戶(hù)幫助不是不大, 暫不打算翻譯。筆者使用的 Code:Block版本是nightly builds, svn6088 (可以在這個(gè)地址下載: /index.php/topic,11875.0.htmj。使用的編譯器是 GCC3.4.5。每個(gè)版 本之間的使

2、用可能會(huì)有細(xì)微的差別。Code:Blocks 手冊(cè) Version 1.0感謝CodeBlocks項(xiàng)目組:Anders F. Bjorklund (afb), Biplab Kumar Modak (biplab), Bartomiej wiecki (byo), PaulA. Jimenez (ceniza), Koa Chong Gee (cyberkoa), Daniel Orb (daniel2000), Lieven de Cock(killerbot Yiannis Mandravellos (mandrav), Mispunt (mispunt), Martin Halle (m

3、orten-macy), Jens Lody (jens), Jerome Antoine (dje), Damien Moore (dmoore), Pecan Heber(pecan), Ricardo Garcia (rickg22), Thomas Denk (thomasdenk), tiwag (tiwag)Permission is granted to copy, distribute and/or modify this document under the terms of the G Free Documentation License, Version 1.2 or a

4、ny later version published by the Free Software Foundation.1 CodeBlocks® 目管理下圖是CodeBlocks運(yùn)行時(shí)的用戶(hù)界面:9.cpp cb=study = Code: : Blocks sim buildFile Edi t Vi ew Seiirch Project Eiiild. D«bug Tools Plugins Settings HelpBuild target: Debug三:雌精 V? Z4 Q I 口 A !"personnhpp1234567891011121314151

5、617IB1920*mainxppperson,cppE: Ttn*pcb_ tudyf>4in. cppUTF-3Line 16. Colwyn 5Inser t Mdi fi e管理(Management):管理窗口包含 Project視圖與 Symbols視圖。Project視圖顯示當(dāng)前 CodeBlocks打開(kāi)的所有項(xiàng)目(譯者注:類(lèi)似與 VS解決方案資源管理器);Symbols視圖顯示項(xiàng) 目中的標(biāo)識(shí)符:類(lèi),函數(shù)、變量等信息(譯者注:類(lèi)似與 VS的類(lèi)視圖)。代碼編輯器:支持代碼折疊,關(guān)鍵字高亮顯示。上圖main.cpp正在被編輯。打開(kāi)文件歹0表:顯示當(dāng)前在代碼編輯器中打開(kāi)的所有文件

6、歹0表。上圖中打開(kāi)的文件歹0表為:main.cpp, person.cpp, person.hpp代碼段(CodeSnippetS :管理常用的代碼段、常用文件鏈接(links to files兩URL??梢酝?過(guò)菜單View->CodeSnippets來(lái)顯示該面板。日志和其他:這個(gè)窗口用丁輸出日志信息,顯示查詢(xún)結(jié)果等等。狀態(tài)欄提供了以下這些信息:編輯器中打開(kāi)文件的絕對(duì)路徑;文件的編碼類(lèi)型;光標(biāo)所在的行與歹0;當(dāng)前的鍵盤(pán)模式(insert或者 overwrite);當(dāng)前的文件狀態(tài)。被修改過(guò)的(但尚未保存)文件將被標(biāo)記為“modified”,否則這里為文件操作的權(quán)限。如果文件是只讀的,這里

7、將會(huì)顯示“ Read only”,在Open files list 中,該文件會(huì)使用一個(gè)加瑣的圖標(biāo)來(lái)顯示;個(gè)性化配置名稱(chēng);CodeBlocks提示了非常靈活和強(qiáng)大的項(xiàng)目管理功能。下文將介紹項(xiàng)目管理的一些常用功能。1.1 項(xiàng)目視圖(Project View)ManagementX。Workspace白1 cl)_s t«dySourcesmain, cpp| per踴il cpp! hwj-test, cpp日 © Headers p 已uoil hpp0ASM Sources魏心mElResources'I form.1.2Projects Syrnbois在Cod

8、eBlocks中,Project的源文件(如C/C+的源文件及其對(duì)應(yīng)的頭文件)和編譯屆性設(shè) 置信息都保存在<name>.cbp文件里??梢酝ㄟ^(guò)菜單File - >Project啟動(dòng)工程創(chuàng)建向?qū)?lái)創(chuàng)建新 的Project,然后通過(guò)管理窗口的上下文菜單Add files(譯者注:上下文菜單,指當(dāng)前窗口中選 中目標(biāo)項(xiàng)目,然后右鍵顯示的菜單)向 Project中添加文件。CodeBlocks會(huì)自動(dòng)根據(jù)文件的后綴 將它們放入不同的類(lèi)別文件夾中(譯者注:這個(gè)文件夾是虛擬的,實(shí)際并不存在)。下面是默認(rèn)的分類(lèi):Sources包含源文件,后綴為*.c、*.cpp;ASM Sources:包括匯

9、編源文件,后綴一般為 *.s、*.S、*.ss、*.asm;Headers:包括頭文件,后綴一般為*.h、*.hpp ;Resources包括資源文件,后綴一般為*.res、*.xrc;通過(guò)管理窗口的上下文菜單Project tree - >Edit file types & categories用戶(hù)可以新建自定義的文件類(lèi)別,并為其相應(yīng)的后綴。例如,如果你希望*.ld的文件放到Linkerscript的分類(lèi)里,你只需新建類(lèi)別Linkerscript,并為它指定*.ld后綴即可。提示:如果你取消選中管理窗口上下文菜單的 Project tree- >Categorize by

10、 file types斷項(xiàng), 所有的項(xiàng)目文件將會(huì)按它們?cè)谖募到y(tǒng)中的位置來(lái)顯示。1.2 項(xiàng)'備注(Notes for Projects可以給CodeBlocks項(xiàng)目添加一些備注,用丁對(duì)項(xiàng)目進(jìn)行概要的描述與說(shuō)明,這些信息有助 丁其他成員迅速的了解項(xiàng)目。備注信息被保存在項(xiàng)目工程文件里,并可以設(shè)置為隨著項(xiàng)目的啟動(dòng) 而顯示。如圖:Froj ect/1 ax ge t s opti obsProject settings | Build targets | Quid scripts Notes c/Project notes: 這是 porj色ct notes1.3項(xiàng)目模板CodeBlocks支

11、持許多不同類(lèi)型的項(xiàng)目模板,它們會(huì)在新建項(xiàng)目的時(shí)候顯示,創(chuàng)建新項(xiàng)目的時(shí) 候往往從這些模板中選擇(如上圖:)。用戶(hù)可以自定義工程模板。工程模板保存編譯器的類(lèi)型、 編譯選項(xiàng)、資源的配置等相關(guān)信息。項(xiàng)目模板保存在 Documents andSettingsn<user>Applicatic DatacodeblocksUserTemplateS錄中。如果你希望該工程模板被本機(jī)的所有用戶(hù)使用,必須把 對(duì)應(yīng)的模板文件拷貝到 CodeBlocks的安裝目錄。模板在 CodeBlocks重啟之后生效,通過(guò)菜單 New->Project->User templates就可以看到自定義的模

12、板。提示:用戶(hù)可以通過(guò)右鍵選中工程向?qū)е械哪0鍖?duì)其進(jìn)行編輯。如下圖:1.4 從編譯模式創(chuàng)建項(xiàng)目(Create Projects from Build Targets一個(gè)項(xiàng)目往往有不同的編譯模式,最常見(jiàn)的是Release和Debug。不同的編譯模式表示用丁構(gòu)建當(dāng)前項(xiàng)目所使用的不同編譯器選項(xiàng)、調(diào)試信息或者依賴(lài)的文件。每一種編譯模式都可以被保 存成獨(dú)立的工程文件。通過(guò)上下文菜單Project->Properties,在Build Targets標(biāo)簽中點(diǎn)擊“Create project from target”按鈕來(lái)生成對(duì)應(yīng)編譯模式的工程文件,如圖:Pr oj ect/targets opti

13、oilsProject settings Build targets | Build scripts | Notes | C/C+ parser options | Debugger | EnvVars options | Libraries |Platforms:Type:Output filename:Build target files:Toggle checkmarksabs.asm form.res main.cpp person xppSelected build target optionsGUI appMcation廠(chǎng) Pause when execution endsP Cr

14、eate import libraryP Create .DEF exports filecb_study.exeV Auto-generate filename prefixAuto-generate filename extensionEwecution working dir: |.Objects output dir; |-objsSelected file propsOK1.5 編譯模式(Virtual Targets)一個(gè)項(xiàng)目可以有多種不同的編譯模式,最常用的編譯模式為“Debug”和“Release'。"Debug”模式下會(huì)包含許多Debug信息,而“ Rele

15、ase'模式下沒(méi)有這些信息。也可以通過(guò)上下文菜單Project->Properties->Build Targets捺加其他的編譯模式。編譯模式將顯示在工具欄中:Build target:!Debug:B)pI Debug Protestinclude1.6預(yù)生成和生成后步驟 (Pre- and Postbuild setp s)Code:blocks允許在項(xiàng)目生成前和生成后執(zhí)行額外的操作,這些操作分別被稱(chēng)為預(yù)生成 (Prebuilt)或生成后(Postbuilt)步驟。下面是典型的生成后步驟:(譯者注:筆者對(duì)低層的東 西知道的不多,不是很活楚下面這些步驟的意思。)Crea

16、ting an Intel Hexformat from a nished objectManipulating objects by objcopy Generating dump les by objdump1.7 為構(gòu)建目標(biāo)添加腳本(Adding Scripts in Build TargetsCode:Blocks允許使用腳本來(lái)調(diào)用菜單命令,控制項(xiàng)目的生成。提示:腳本可以被包含到一個(gè)構(gòu)建目標(biāo)(Build Target)中。1.8解決方案(Workspace與項(xiàng)目依賴(lài)CodeBlocks可以同時(shí)打開(kāi)多個(gè)項(xiàng)目,通過(guò)菜單File->Save workspace把它們集成到一個(gè)解決 方案

17、中,并生成一個(gè)對(duì)應(yīng)的解決方案文件(<name>.workspac創(chuàng)。下次打開(kāi)解析方案文件(<name>.workspace)寸,這些項(xiàng)目會(huì)被一起加載進(jìn)來(lái)。復(fù)雜的軟件系統(tǒng)通常由不同的模塊、組件以獨(dú)立的工程項(xiàng)目組成,它們之間往往存在依賴(lài)關(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就依賴(lài)項(xiàng)目A。 CodeBlocks把這些項(xiàng)目依賴(lài)的信息保存到解決方案文件中,所以解決方案中的工程可以各自獨(dú)立的創(chuàng)建、編譯而不相互影響(譯者注:由解決方案文件來(lái)維護(hù)各項(xiàng)目的依賴(lài)關(guān)系

18、)。這些依賴(lài)關(guān)系會(huì)決定項(xiàng)目的生成順序。通過(guò)菜單Project->Properties,然后選擇Project' s dependencies按鈕來(lái)設(shè)置項(xiàng)目之間的依賴(lài)關(guān)系。如下圖:Project settings Buid targets | Build scripts | Notes | C/C+ parser options | Debugger | EnvVars options | Libraries |1.9包含匯編文件 略。1.10代碼編輯器與工具 (Editor and Tools)1.10.1 默認(rèn)代碼(Default Code)公司的編碼規(guī)范往往要求源文件有統(tǒng)一的

19、布局(譯者注:例如源文件的開(kāi)始處以統(tǒng)一的格式 給出文件創(chuàng)建的時(shí)間、作者、實(shí)現(xiàn)的功能描述等相關(guān)信息)。CodeBlocks允許預(yù)定義一些內(nèi)容,當(dāng)新建C/C+文件時(shí)這些內(nèi)容會(huì)自動(dòng)添加到文件的開(kāi)始處。這里把預(yù)定義的內(nèi)容稱(chēng)為defaultcode??梢酝?過(guò)菜單Settings- >Editor - >Default Code來(lái)設(shè)置 defaulg code,通過(guò)菜單 File->New->File創(chuàng)建的代碼文件將自動(dòng)添加上default code例如:/* Project:* Function:火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火

20、火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火火* $Author: mario $* $Name: $* Copyright 2007 by company name*/*1.10.2 縮寫(xiě)(Abbreviation)定義一個(gè)常用的代碼片斷typing,并給它提供一個(gè)名字Abbreviation,在寫(xiě)程序的時(shí)候, 只要給出這個(gè)名字,然后按快捷鍵 Ctrl + J , CodeBlocks就會(huì)用預(yù)先定義的代碼片斷來(lái)替換該名 字。(譯者注:VS中也有類(lèi)似的功能,在 C#程序時(shí),只要寫(xiě)出關(guān)鍵字for,然后連續(xù)按兩次Tab 鍵,編輯器會(huì)自動(dòng)生成for語(yǔ)句的框架,是不是很方便?_)。通

21、過(guò)菜單Settings->Editor庶設(shè)置 Abbreviation,如下圖:Abbreviations!Default codeSource formatterabbreviation也支持參數(shù)變量(Parametrisation)(如:$NOW 表示當(dāng)前時(shí)間)。如:I 9intmain()0 日:1.;2;3 return 0 ;L L->1.10.3 個(gè)性化(PersonalitiesCodeBlocks的配置信息被作為應(yīng)用程序數(shù)據(jù)而保存在codeblock或件夾的<user>.conf文件中。該配置文件中保存的信息包括:上次打開(kāi)的項(xiàng)目、代碼編輯器的設(shè)置、符號(hào)欄

22、顯示等等。默 認(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ì)顯歹0出當(dāng)前所有 的修改化配置歹0表,用戶(hù)選擇其一啟動(dòng)CodeBlocks如下圖:1.10.4 配置文件(Configuration FilesCodeBlocks的配置信息保存在codeblocks目錄下的default.conf文件中。當(dāng)使用個(gè)性化設(shè)置 的時(shí)候,配置信息

23、將被保存到<personality>.con儀件里。cb_share_conf(一個(gè)輔助工具,可以在 CodeBlocks安裝目錄里找到)被用來(lái)管理與保存這 些設(shè)置信息。如果你想為電腦的不同賬戶(hù)定義一個(gè)公用的默認(rèn)設(shè)置,defual.conf文件應(yīng)該被保存到Documents and SettingsDefault UserApplication Datacodeblock£odeBlockM 第 次啟動(dòng)的 時(shí)候,會(huì)將該配置文件拷貝到當(dāng)前賬戶(hù)的application data目錄下(并作為當(dāng)前帳戶(hù)的配置文件)。如果想在usb設(shè)備上創(chuàng)建一個(gè)綠色版本號(hào)的 CodeBlocks請(qǐng)

24、執(zhí)行下面步驟:將 CodeBlocks 安裝目錄拷貝到usb設(shè)備上,將配置文件default.conf拷貝到該目錄中,該配置文件將被用丁全 局的設(shè)置。確保系統(tǒng)有權(quán)限對(duì)該文件進(jìn)行寫(xiě)入,否則CodeBlocks對(duì)配置文件的修改將不會(huì)被保存。1.10.5 導(dǎo)航與搜索(Navigate and SearchCodeBlocks提供了很多方法用丁文件和函數(shù)之間導(dǎo)航。書(shū)簽就是最常用的一種方式。通過(guò)快 捷鍵Ctrl + B在源文件中設(shè)置/刪除一個(gè)書(shū)簽,通過(guò) Alt + PgUp或Alt + PgDn在不同的書(shū)簽之間跳轉(zhuǎn)在管理窗口的Project視圖中選中解決方案或項(xiàng)目,右鍵點(diǎn)擊在彈出菜單中選擇 Find f

25、ile, 輸入你查找的文件名稱(chēng),然后回車(chē),該文件將被選中(如果文件存在的話(huà)),再按回車(chē),編輯器就會(huì)打開(kāi)該文件。如下圖:ManagementWorkEpa.!ee!|person, hpRename workspace. 一“3尋v欄 workspace Save workspace as.,6 7 8 03 3 3。El (FS Sor110在CodeBlocks中,你可以很容易的在頭又件與源又件之間導(dǎo)航:1.將光標(biāo)置丁頭文件被包含處(例如: #include “ header.hpp'),右鍵選擇性“ open include fild',編輯器將打開(kāi)該包含文件。(譯者注:可

26、以在 VS中使用快捷鍵 Ctrl + Shift + G實(shí) 現(xiàn)同樣的操作。這個(gè)功能非常方便,特別是要查看源代碼時(shí)。)person, hppperson.cppmain.cpp1234567#includeint main () B return Toggle brealspointRxm. to cursorOpen #iikclud« file: ' iostreiri/Switch toInsert2. 通過(guò)右鍵菜單的Swap header/source在頭文件與源文件之間切換。3. 選中一個(gè)定義(如變量名,類(lèi)型名等等),在右鍵菜單中選擇Find declaration,

27、編 輯器就會(huì)打開(kāi)該定義的聲明。(譯者注:可以使用右鍵菜單的Find implementation位到函數(shù)的 實(shí)現(xiàn)處,在VS中使用快捷鍵F12實(shí)現(xiàn)同樣的操作。這也是一個(gè)非常方便的功能。)。void pe rso|r tlTODrNOT;Switch taInsertToggle breakpointRun to cursorfind declaration of: J personJSwap heid&r/em ent at ion of: perCodeBlocks提供多種方式用丁對(duì)單個(gè)文件或整個(gè)目錄進(jìn)行搜索。通過(guò)菜單或Search - > Find in Files來(lái)打開(kāi)搜索對(duì)

28、話(huà)框。Search->FindAlt + G和Ctrl + Alt + G這兩個(gè)快捷鍵用丁打開(kāi) 文件/函數(shù) 跳轉(zhuǎn)對(duì)話(huà)框,只要輸入文件/函 數(shù)的名稱(chēng),就可以很方便的跳轉(zhuǎn)到指定文件或函數(shù)。 文件名/函數(shù)名搜索還支持*和?等能配符。(譯者注:可以使用 Visual Assis甘甫件在VS中實(shí)現(xiàn)類(lèi)似的功能。這兩個(gè)功能真的很方便實(shí)用。)Select fimction. «Please select function to go to:void savJnellci (匚nnst std;: string &namEvoid foo() void boo() int main(jS

29、elect fundi on.Ini xPlease select function to go to:void say hello (const std:s tnngi &namelvoid foot) void boo() int main()提示: 使用Ctrl + PgUp和Ctrl + PgDn可以在前后函數(shù)之間跳轉(zhuǎn)。在文本編輯器中,使用快捷鍵 Ctrl + Tag可以在當(dāng)前所有打開(kāi)的文件之間跳轉(zhuǎn)。(譯者注: VS也有類(lèi)似的功能,而且快捷鍵也是 Ctrl + Tag,這是巧合嗎?)顯示行號(hào)。通過(guò)菜單Settings->General SettingsJ選中Show li

30、ne numbers來(lái)顯示行號(hào)。使用快捷鍵Ctrl + G可以快速的跳轉(zhuǎn)到指定行。1.10.6 符號(hào)視圖(Symbol vieWCodeBlocks管理窗口提供的符號(hào)視圖,以樹(shù)的形式顯示(導(dǎo)航)C/C+源文件中的類(lèi)、函數(shù)、 變量定義??梢赃x擇符號(hào)顯示的區(qū)域是:當(dāng)前文件、當(dāng)前項(xiàng)目、整個(gè)解決方案。(譯者注:與VS的類(lèi)視圖面板實(shí)現(xiàn)類(lèi)似的功能。)提示:在搜索輸入框中輸入符號(hào)的名稱(chēng),符號(hào)瀏覽器將會(huì)過(guò)濾不符條件的符號(hào)符號(hào)視圖將符號(hào)分為如下分類(lèi):Global functions:全局函數(shù);Global typedefs:通過(guò) typedef定義的別名;Global variables*:全局變量;Prepr

31、ocessor symbols通過(guò)#define宏定義的預(yù)處理指示符;結(jié)構(gòu)和類(lèi)的定義顯示在pre-processor symbol*面。如果一個(gè)分類(lèi)被選中,屆丁該分類(lèi)的標(biāo) 識(shí)符將顯示在視圖的下半部分。雙擊這些標(biāo)識(shí)符,代碼編輯器將定位到定義這些標(biāo)識(shí)符的文件所 在處。1.10.7集成外部的幫助文檔CodeBlocks支持添加外部的幫助文檔集成到開(kāi)發(fā)環(huán)境中。通過(guò)菜單Settings->Environment:來(lái)設(shè)置。把你選擇的chm格式的文檔以添加到Help Files,并將其作為默認(rèn)的幫助文檔,在編輯 器中選擇一個(gè)函數(shù),對(duì)應(yīng)的文檔就會(huì)出現(xiàn)通過(guò)快捷鍵F1。, 1.10.8集成外部工具通過(guò)菜單T

32、ools->Configuration Tool>Add,把夕卜部工具集成到 CodeBlocks:開(kāi)發(fā)環(huán)境中。 這些外部的工具允許以參數(shù)的形式訪(fǎng)問(wèn) CodeBlocks的內(nèi)建(Built-in)變量(如當(dāng)前項(xiàng)目所在的文 件夾$PROJECT_DIR)。利用這個(gè)功能,我們給CodeBlocks添加一個(gè)菜單項(xiàng):打開(kāi)當(dāng)前項(xiàng)目所 在的文件火。請(qǐng)看祐:(譯者注:這是一個(gè)非常實(shí)用的功能。利用這個(gè)功能,我在我的CodeBlocks中,添加了三個(gè)我最常用的菜單項(xiàng):使用Notepad+打開(kāi)當(dāng)前文件;打開(kāi)當(dāng)前項(xiàng)目所在的文件火;以 Dos窗口打開(kāi) 當(dāng)前文件火。爽歪歪)1.11 使用 CodeBlock

33、s的小提示(Tips)Tools Plugins Settings Het T T » » r-: Li f這節(jié)我們將展示一些CodeBlocks非常有用的提示。口暮1.11.1 修改跟蹤(Tracking of Modifications)CodeBlocks通過(guò)行號(hào)旁邊的小堅(jiān)條顏色來(lái)跟蹤源文件的修改。未保存的修改行將被標(biāo)記為黃 色,而已保存的修改行標(biāo)記為綠色。你可以通過(guò)菜單 Search->Goto next changed line或者 Search->Goto previous changed line修改內(nèi)容之間導(dǎo)航(對(duì)應(yīng)的快捷鍵是 Ctrl + F3

34、和 Ctrl +Shift + F3)。(譯者注:VS也提供類(lèi)型的功能。)int 'itiain () B10)己隰存的修改coutreturn 0;可以通過(guò)菜單Settings->Editor->Margins and caret,取消選中Use Changebar環(huán)取消該功提示:如果文件被關(guān)閉,記錄在該文件上的 undo/redo信息和修改標(biāo)識(shí)(changebars將會(huì)活 空。如果文件處理打開(kāi)狀態(tài),可以通過(guò)菜單 Edit->Clear changes history或者右鍵菜單相應(yīng)選項(xiàng) 來(lái)顯式地活空這些信息。1.11.2與其他應(yīng)用程序交互CodeBlocks能夠在

35、運(yùn)行時(shí)與其他應(yīng)用程序進(jìn)行交互。windows下通過(guò)DDE (Dynamic DataExchange實(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:Temptest.txt”),在 CodeBlocks 實(shí)例中(或者啟動(dòng)新的 CodeBlocks進(jìn)程,如果需要的話(huà))打開(kāi)一個(gè)文件。OpenLine:命令OpenLine( “D:Temptest.txt:10”),在 CodeBlocks中打開(kāi)文

36、件,并 定位到指定行數(shù),冒號(hào)后面的數(shù)字用丁指定行號(hào)。(譯者注:不是很明白原文的意思:Thiscommand opens a le at a given line number in a CodeBlocksi nstarce.Raise:讓CodeBlocks實(shí)例獲得焦點(diǎn)。不就給該命令提供參數(shù)1.11.3配置環(huán)境變量操作系統(tǒng)的配置信息被定義在環(huán)境變量中。例如環(huán)境變量Path包含一個(gè)編譯器的安裝目錄路徑,操作系統(tǒng)在運(yùn)行期間都可以隨時(shí)訪(fǎng)問(wèn)該環(huán)境變量。如果同一編譯器的另一個(gè)版本被安裝, 就可能會(huì)發(fā)生錯(cuò)誤,如:調(diào)用的編譯器版本不正確。有時(shí)候因?yàn)轫?xiàng)目的需要,必須在同一機(jī)器上安裝同一編譯器的不同版本。為了

37、避免上述錯(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->EnvironmentJ在Environment Varibales面板中點(diǎn)擊Create按鈕創(chuàng)建不同版本的環(huán)境變量,如下圖:SuTiroiweikt settings;Environment variablesHeaderFixup configurationSetup (toggle) environm

38、ent variablesSele匚口門(mén)WRErnciv已 envyaf - set:IgccS 4_5刁Create'/, "j Clone,- RemoveNOTE: These varioles are applied on startup (or manually) within the focus of Code:ElocksOKCancel IAdd | Edit Delete -曲 瀚 mw 廠(chǎng) Enable full enwar debug output to the C:B debug console,1.11.4切換布局CodeBlocks可以根據(jù)手頭任務(wù)

39、的需要選擇不同的配置 /視圖,并保存這些配置/視圖。默認(rèn)情 況下這些配置保存在default.con儀件里。以命令行方式啟動(dòng)Cdoeblocks并傳遞-personality=asl 參數(shù),就可以在列出的個(gè)性化配置列表中選擇一個(gè)視圖啟動(dòng)。有時(shí)候,你可能希望在應(yīng)用程序的使用過(guò)程中切換布局,如編碼模式與調(diào)試模式下可能需要不同的布局。CodeBlocks提供了一種機(jī)制來(lái)實(shí)現(xiàn)這種需求,通過(guò)菜單 View->Layouts->Save current,并輸入布局的命名,保存布局。通過(guò)View->Layouts->Layout name來(lái)切換布局。(譯者注:筆者使用的 版本,通過(guò)V

40、iew->Perspectives來(lái)保存 切換布局,如下圖:)1.11.5項(xiàng)目切換多個(gè)項(xiàng)目同時(shí)在 CodeBlocks中打開(kāi)時(shí),用戶(hù)希望快速的在這些項(xiàng)目之間切換。CodeBlock提供一組快捷鍵來(lái)實(shí)現(xiàn):Alt + F5 :將視圖中前一個(gè)項(xiàng)目設(shè)為激活(Active)項(xiàng)目。(譯者注:類(lèi)似丁 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è)置在編譯一個(gè)項(xiàng)目的過(guò)程中,編譯信息將會(huì)顯示在消息窗口的Build Log視圖中。如果你想獲取更詳細(xì)的編譯信息,通過(guò)菜單

41、Settings->Compiler and Debugger在Other Settings面板中選 擇 Compiler logging下拉歹U表項(xiàng):Global compiler settingsGCC CompilerGlobal 匚ompiler settingsLinker settings Search directories | Twlizhain exmcutab廚 | Custonrij/ari北劇 Other settingsSet as defaultCopyRenameDelete |Selected compilerProfiler settingsCompil

42、er logging+TSdescription (e,.Q. "CompilingBuild methodFull command lineTask descriotion (e.a. 'Compilina <file>. Ib)o logging Oust wh呂t±h日匚rnpilmr gyt口ut% if wqythi門(mén)見(jiàn)Batch buildsCompiler-independent op廠(chǎng) Explicitly add currently compiling file s directory to compiler search dirs 廠(chǎng)

43、 Explicitly add project's top-level directory to 匚口mpiler search dirsQ2 :乎響 build log to HTML file vhen build is finished.F .SA,一一, u也舊|舊|史4 HTfJL fileDebugger settings !|Eprogress barlay build progress percentage in IoRebuild Workspace / ProjectI- Clean and Build all projects/targets one by one

44、NOTE: Default S to clean all projects/targets at 口口匚巳before building therru“Full command line”選項(xiàng)意味著將在 Build Log視圖中顯示所有的編譯信息??梢詫⑦@些 日志信息保存為 HTML文件,通過(guò)選中” Save build log to HTML file when finished。另外,通 過(guò)選中” Display build process ba'F, CodeBlocks支持在Build Log視圖中顯示編譯進(jìn)度。1.11.7編輯器縮放CodeBlocks提供了一個(gè)非常高效的編輯

45、器。這個(gè)編輯器允許你縮放打開(kāi)文本的字體大小。如 果你的鼠標(biāo)有滾輪,你只要按住 Ctrl鍵,同時(shí)滾支鼠標(biāo)滾輪,就可以實(shí)現(xiàn)文本的縮放。提示:通過(guò)菜單Edit->Special commands->Zoom->Rese床重置縮放。1.11.8自動(dòng)換行模式在CodeBlcoks中打開(kāi)一個(gè)文本文件,使用自動(dòng)換行模式可以將很長(zhǎng)的行以多行的形式顯示 在一個(gè)屏幕內(nèi),有利丁編輯。通過(guò)菜單 Settings->Editor->Other Options,選中 Word warp來(lái)激 活自動(dòng)換行模式。,1.11.9塊選文本CodeBlocks支持在代碼編輯器中塊選文本。按住Alt鍵的同

46、時(shí)按住鼠標(biāo)左鍵在編輯器選擇一 塊區(qū)域。如果你想選擇數(shù)組的幾列進(jìn)行復(fù)制和粘貼,這個(gè)功能是非常有用的(譯者注:VS也提示類(lèi)似的功能,快捷鍵也一樣。)。如圖:' - - int arr 4 二-j Oilf J2,l 03fj 0 4 rI (d 2 22 f2,3 f24'.(31f32,33z<34修:面 n . :return0;1.11.10代碼折疊CodeBlocks支持代碼折疊,允許將函數(shù)、類(lèi)的實(shí)現(xiàn)折疊起來(lái)。提示:通過(guò)菜單Settings->Editor->Folding,可以設(shè)置代碼折疊的樣式和層次限制(depthlimit)。1.11.11自動(dòng)完成在

47、CodeBlocks中打開(kāi)一個(gè)項(xiàng)目時(shí),編譯器的相關(guān)目錄(include目錄)與項(xiàng)目的源文件/頭文 件將被解析,提取有關(guān)類(lèi)型定義、函數(shù)、宏等的信息,CodeBlocks使用這些信息來(lái)實(shí)現(xiàn)自動(dòng)完成功能。通過(guò)菜單Settings->Editors->Code completion用該功能,通過(guò)快捷鍵 Ctrl + Space來(lái) 顯示提示信息(譯者注:默認(rèn)的快捷鍵 Ctrl + Space不適合中國(guó)人的鍵盤(pán)習(xí)慣,建議改成其他快 捷鍵。)。通過(guò)Settings->Editor->Syntax highlighting你可以添加自定義的關(guān)鍵字。1.11.12 查找破損文件(Find

48、 broken files)如果一個(gè)文件已經(jīng)從磁盤(pán)中刪除,但它仍然被包含在項(xiàng)目文件(project.cbp)中(譯者注:項(xiàng)目的文件信息保存在*.cbp文件里。),這個(gè)文件在項(xiàng)目面板中顯示一個(gè)破損符號(hào)(如下圖)。應(yīng)該 通過(guò)上下文菜單Remove file from project務(wù)它從項(xiàng)目中移除。El O Workspacecb_stndy二 O Sourcesmain, cppperson, hpp一個(gè)大的工程可能包含許多子文件火,搜索破損文件會(huì)非?;ㄙM(fèi)時(shí)間。CodeBlocks提供ThreadSearch插件來(lái)解決這個(gè)問(wèn)題。在 ThreadSearch中輸入要查找的表達(dá)式,并設(shè)置查找的范 圍

49、:“Project files'或者'Workspace files, 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ì)路徑的形式給出,也可以只給出名稱(chēng)而無(wú)需提供lib前綴和文件擴(kuò)展名。例如:存在這樣的一個(gè)庫(kù)文件:<path>libslib<name>.a,只要給出<name>,鏈接器就可以找到對(duì)應(yīng)的庫(kù)文件。1.11.14對(duì)象鏈接順序在編譯過(guò)程中,源文

50、件name.c/cpp將會(huì)被編譯成目標(biāo)文件 name.o,然后鏈接器把獨(dú)立的目 標(biāo)文件鏈接成可執(zhí)行文件 name.exe (M丁嵌入式系統(tǒng),將鏈接成name.el。這種情況下,可能需要預(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| 激活該功能。1.11.16文件擴(kuò)展名設(shè)置在Cod

51、eBlocks中,可以選擇多次方式來(lái)處理文件不同后綴的文件,可以在菜單 Settings->Environment settings->Files extension handling設(shè)置相應(yīng)的處理方式:“Launch anexternal program” 指定夕卜部程序來(lái)打開(kāi)文件;“Launch the associated application 使用系統(tǒng)默認(rèn)程序來(lái)打開(kāi)文件;“Open it in Code:Blocks editof使用Code:Blocks編輯器來(lái)打開(kāi)文件。如 下圖:Files extension handlin25Files extension;hand

52、lingWildcard;|.cbpTo open the file* Launch an external programL Launch the associated applicationOpen it in a CodB:Bfocks editorExternal program:E:Prograrri FilesCodeBlockcodeblockSHexeWait for the external program to terminate1.12通過(guò)命令行操作 CodeBlocksCodeBlocks能夠通過(guò)命令行來(lái)運(yùn)行。在這種情況下,需要通過(guò)一些選項(xiàng)來(lái)控制項(xiàng)目的構(gòu)建過(guò) 程。因?yàn)镃

53、odeBlocks是scriptable的,所以CodeBlocks項(xiàng)目的構(gòu)建可以集成到你自己的工作過(guò)codeblocks.exe /na /nd -no-splash-screen -built <name>.cbparget= ' Release '<filename> 指定 CodeBlock項(xiàng)目文件(*.cbp)或解決方案文件(*.workspace)。-file=<filename>:line:使用CodeBlocks打開(kāi)指定文件??蛇x的行號(hào)指示代碼編輯器跳轉(zhuǎn)到該 行。/h, -help:顯示幫助信息。/na, -no-check-

54、associations 不執(zhí)行文件關(guān)聯(lián)檢查。(windows only)/nd, -no-dde:不啟動(dòng) DDE 服務(wù)。(windows only)/ni, -no-ipc:不啟動(dòng) IPC 服務(wù)。(Linux and Mac only)/ns, -no-splash-screen應(yīng)用程序啟動(dòng)的時(shí)候,不顯示啟動(dòng)畫(huà)面。/d, -debug-log顯示應(yīng)用程序的調(diào)試日志-prefix=<str>:設(shè)置共享數(shù)據(jù)文件夾的前綴/p, -personality=<str>, -profile=<str>:設(shè)置要使用的個(gè)性化配置。你可以使用“ ask”參數(shù)來(lái)歹U 小可選擇

55、的個(gè)性化配置。-rebuild:活理并重新編譯工程或解決方案。-build:編譯工程或解決方案。-target=<str> :設(shè)置編譯模式,如: -target=' Release-no-batch-window-close編譯完成的時(shí)候,不關(guān)閉日志窗口。-batch-build-notify:編譯完成的時(shí)候顯示提示信息-safe-mode啟動(dòng)的時(shí)候,所有插件都不可用。> <build log file:重定向標(biāo)準(zhǔn)輸出到日志文件。這是標(biāo)準(zhǔn)DOS/*nix shell的輸出重定向,并非CodeBlocks內(nèi)置選項(xiàng)。1.13快捷鍵在IDE中使用快捷鍵比使用鼠標(biāo)更為高

56、效。下表給出CodeBolcks默認(rèn)的快捷鍵。(譯者注:筆者將CodeBlocks中的快捷鍵設(shè)置為與 VS大體一致,使用CodeBlocks時(shí)非常順手。)Function Shortcut KeyUndo last action Ctrl + ZRedo last action Ctrl + Shift + ZCut selected text Ctrl + XCopy selected text Ctrl + CPaste text from clipboard Ctrl + VSelect all text Ctrl + ASwap header / source F11Comment highlig

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論