manual code blocks)

Upload: jorge-martinez-martinez

Post on 15-Jul-2015

232 views

Category:

Documents


0 download

TRANSCRIPT

CodeBlocks ManualVersion 1.1

Thanks to the CodeBlocks team: Anders F. Bjrklund (afb), Biplab Kumar Modak (biplab), Bartomiej wiecki (byo), Paul o A. Jimenez (ceniza), Koa Chong Gee (cyberkoa), Daniel Orb (daniel2000), Lieven de Cock (killerbot), Yiannis Mandravellos (mandrav), Mispunt (mispunt), Martin Halle (mortenmacy), 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 GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.

1 CodeBlocks ProjektverwaltungDie Dokumentation fr Kapitel 3 auf Seite 55 und ?? auf Seite ?? sind ozielle Dokuu mentationen der CodeBlocks Wiki-Seite und nur in englischer Sprache verfgbar. u Die nachfolgende Abbildung zeigt den Aufbau der CodeBlocks Oberche. a

Abbildung 1.1: IDE CodeBlocks Management Diese Fenster enthlt die Ansicht Projects , im nachfolgenden als Projeka tansicht bezeichnet. In dieser werden die in CodeBlocks aktuell geneten Projekte o angezeigt. In dem Management Fenster erhlt man im Reiter Symbols die Anzeige a von Symbolen, Variablen etc. Editor In der obigen Abbildung ist eine Quelle hello.c mit Syntaxhighlighting im Editor genet. o Open les list Zeigt die Liste der im Editor geneten Dateien an, hier hello.c. o CodeSnippets Lsst sich uber das Men View CodeSnippets anzeigen. Hier knnen a u o Textbausteine, Verknpfungen auf Dateien und Urls verwaltet werden. u Logs & others Fenster zur Ausgabe von Suchergebnisse, Logmeldung eines Compilers etc.

CodeBlocks V1.1 Die Statusbar gibt einen Uberblick der folgenden Einstellungen: Vollstndiger Pfad einer im Editor angezeigten Datei. a

1.1 Projektansicht

Im Editor wird das vom Betriebssystem standardmig verwendete Character Ena coding ubernommen und mit der Einstellung default angezeigt. Aktuelle Zeilen- und Spaltnummer der Cursorposition im Editor. Uber die Tastatur eingestellte Modus fr das Einfgen von Text (Insert oder Overu u write). Aktuelle Status einer Datei. Fr eine genderte Datei steht der Eintrag auf Modied u a ansonsten ist dieser Eintrag leer. Die fr eine Datei eingestellte Berechtigung. Eine schreibgeschtzte Datei wird als u u Read only in der Statusbar gekennzeichnet. Im Fenster Open les list werden solche mit einem Schloss als Icon Overlay markiert. Hinweis: Im aktiven Editor kann uber das Kontextmen Properties im Reiter u General die Option File is read-only aktiviert werden. Dies bewirkt das die Datei nur innerhalb CodeBlocks schreibgeschtzt ist, u jedoch bleibt die Lese- und Schreibberechtigung auf der Festplatte unverndert. a Falls CodeBlocks mit der Kommandozeilenoption --personality= gestartet wird, steht in der Statusbar das aktuell verwendete Prol, ansonsten wird hier default angezeigt. Die Einstellungen von CodeBlocks werden in der gleichnamigen Kongurationsdatei .conf gespeichert. CodeBlocks bietet eine sehr exible und umfassende Projektverwaltung. Der folgende Text geht nur auf einige Besonderheiten der Projektverwaltung ein.

1.1 ProjektansichtIn CodeBlocks werden Quellen und die Einstellungen fr den Builtprozess in einer Projektu datei .cbp gespeichert. Ein Projekt besteht typischerweise aus C/C++ Quellen und zugehrige Header Dateien. Ein neues Projekt legen Sie am einfachsten an, indem Sie o das Men File Project ausfhren und einen Wizard auswhlen. Anschlieend knnen u u a o Sie im Management Fenster uber das Kontextmen Add les Dateien zum Projekt hinu zufgen. In CodeBlocks werden die Projektdateien abhngig von ihrer Dateiendung in u a Kategorien verwalten. Die voreingestellen Kategorien sind fr u Sources Unter der Kategorie Sources werden Quellen z.B. mit den Endungen *.c;*.cpp; aufgelistet. ASM Sources Unter der Kategorie ASM Sources werden Quellen z.B. mit den Endungen *.s;*.S;*.ss;*.asm aufgelistet. Headers Unter der Kategorie Headers werden Dateien z.B. mit den Endungen *.h; angezeigt. Codeblocks 2

CodeBlocks V1.1

1.2 Notizen fr Projekte u

Resources Unter der Kategorie Resources werden z.B. Dateien *.res;*.xrc; fr die u Beschreibung von Layout von wxWidgets Fenster gelistet. Fr die Anzeigen dieser u Dateitypen dient im Manangement Fenster der Reiter Resources. Die Einstellungen fr Typen und Kategorien von Dateien knnen uber das Kontextu o men Project tree Edit le types & categories angepasst werden. Dabei knnen u o auch eigene Kategorien fr Dateiendungen angelegt werden. Wenn Sie z.B. Linkerskripte u mit der Endung *.ld unter der Kategorie Linkerscript anzeigen mchten, legen Sie o einfach eine neue Kategorie an. Hinweis: Wenn Sie im Kontextmen Project tree Categorize by le types u deaktivieren, wird die Anzeige in Kategorien aufgehoben und die Dateien erscheinen wie sie im Dateisystem abgelegt sind.

1.2 Notizen fur Projekte In CodeBlocks knnen zu Projekten sogenannte Notes hinterlegt werden. Diese sollten o eine Kurzbeschreibung oder Hinweise fr das jeweilige Projekt enthalten. Durch Anzeige u dieser Information beim Onen des Projektes bekommen andere Bearbeiter einen schnel len Uberblick. Die Anzeige von Notes kann bei den Properties eines Projektes im Reiter Notes aktiviert bzw. deaktiviert werden.

1.3 ProjektvorlagenCodeBlocks wird mit einer Vielzahl von Projektvorlagen ausgeliefert, die beim Anlegen eines neuen Projektes angezeigt werden. Es ist aber auch mglich, eigene Vorlagen zu speio chern und somit eigene Vorgaben fr Compilerschalter, wie zu verwendete Optimierung, u maschinenspezische Schalter etc. in Vorlagen zusammenzufassen. Diese werden im Verzeichnis Dokumente und Einstellungen\\Anwendungsdaten\codeblocks\UserTemplates abgelegt. Wenn die Vorlagen fr alle Benutzer zugnglich sein sollen, mssen die Vorlau a u gen in zugehriges Verzeichnis der CodeBlocks Installation kopiert werden. Diese Vorlagen o erscheinen dann beim nchsten Start von CodeBlocks unter New Project User a templates . Hinweis: Die verfgbaren Vorlagen im Project Wizard knnen durch Auswahl u o mit der rechten Maustaste bearbeitet werden.

1.4 Projekte aus Build Targets erstellenIn Projekten ist es notwendig unterschiedliche Varianten eines Projektes vorzuhalten. Varianten werden als Build Target bezeichnet. Diese unterscheiden sich in der Regel durch unterschiedliche Compileroptionen, Debug-Information und Auswahl von Dateien. Ein Build Target kann auch in ein eigenstndiges Projekt ausgelagert werden, dafr selektieren a u Sie in Project Properties den Reiter Build Targets die Variante und whlen Sie a Schaltche Create project from target (siehe Abbildung 1.2 auf Seite 4). a Codeblocks 3

CodeBlocks V1.1

1.5 Virtual Targets

Abbildung 1.2: Build Targets

1.5 Virtual TargetsMit sogenannten Virtual Targets knnen Projekte in CodeBlocks weiter strukturiert wero den. Eine huge Projektstruktur besteht aus zwei Build Targets. Einem Target Debug a mit Debuginformation und einem anderen Target Release ohne diese Information. Durch Hinzufgen von Virtual Targets unter Project Properties Build Targets knnen u o einzelne Build Targets zusammengefasst werden. So kann zum Beispiel ein Virtual Target All die Targets Debug und Release gleichzeitig erzeugen. Die Virtual Targets werden auch in der Symbolleiste des Compilers unter Build Targets angezeigt.

1.6 Pre- und Postbuild SchritteCodeBlocks ermglicht es, weitere Arbeitschritte vor oder nach der Compilierung eines o Projektes durchzufhren. Die Arbeitsschritte werden als Prebuilt bzw. Postbuilt Step u bezeichnet. Typische Postbuilt Steps sind: Erzeugung eines Intel Hexformats aus einem fertigen Objekt Manipulation von Objekten mit objcopy Generierung von Dumpdateien mit objdump Beispiel Erzeugung einer Disassembly aus einem Objekt unter Windows. Die Umlenkung in eine Datei erfordert den Aufruf der cmd mit der Option /c.cmd /c objdump -D name.elf > name.dis

Codeblocks

4

CodeBlocks V1.1

1.7 Hinzufgen von Scripts in Build Targets u

Ein weiteres Beispiel fr ein Postbuilt Step kann die Archivierung eines Projektes sein. u Hierzu erstellen Sie ein Build Target Archive und tragen im Postbuilt Step folgende Anweisung einzip -j9 $(PROJECT_NAME)_$(TODAY).zip src h obj $(PROJECT_NAME).cbp

Mit diesem Befehl wird das aktive Projekt und seine Quellen, Header und Objekte als Zip-Datei gepackt. Dabei werden uber die Built-in Variablen $(PROJECT_NAME) und $(TODAY), der Projektname und das aktuelle Datum extrahiert (siehe Abschnitt 3.2 auf Seite 56). Im Verzeichnis des Projektes liegt dann nach Ausfhren des Targets Archive u die gepackte Datei. In dem Verzeichnis share/codeblocks/scripts nden Sie einige Beispiele fr Skripte. u Ein Skript kann uber das Men Settings Scripting hinzugefgt und in ein Men einu u u u u getragen werden. Wenn Sie ein Skript z.B. make dist uber ein Men ausfhren, werden alle Dateien, die zum einem aktiven Projekt gehren in ein Archiv .tar.gz o komprimiert.

1.7 Hinzufugen von Scripts in Build Targets CodeBlocks bieten die Mglichkeit, Aktionen die vom Benutzer in Mens ausgefhrt wero u u den, auch in Skripten zu verwenden. Mit dem Skript entsteht somit ein zustzlicher Freia heitsgrad um die Generierung Ihres Projektes zu steuern. Hinweis: Ein Skript kann auch bei einem Build Target angegeben werden.

1.8 Workspace und Project DependenciesIn CodeBlocks knnen Sie mehrere Projekte genet halten. Durch speichern der geneo o o ten Projekte uber File Save workspace werden diese in einem Arbeitsbereich unter .workspace zusammengefasst. Wenn Sie beim nchsten Start von CodeBlocks a den Arbeitsbereich .workspace nen erscheinen wieder alle Projekte. o Komplexe Softwaresysteme bestehen aus Komponenten, die in unterschiedlichen CodeBlocks Projekten verwaltet werden. Des weiteren existieren bei der Generierung von solchen Softwaresystemen oftmals Abhngigkeiten zwischen diesen Projekten. a Beispiel Ein Projekt A enthlt zentrale Funktionen, die auch anderen Projekten in Form einer a Bibliothek zugnglich gemacht werden. Wenn nun diese Quellen eines Projektes gendert a a werden, muss die Bibliothek neu erzeugt werden. Damit die Konsistenz zwischen einem Projekt B, das die Funktionen verwendet und dem Projekt A, das die Funktionen implementiert, gewahrt bleibt, muss Projekt B von Projekt A abhngen. Die Information fr a u die Abhngigkeit von Projekten wird im jeweiligen Workspace gespeichert, damit jedes a Projekt weiterhin einzeln erzeugt werden kann. Durch die Verwendung von Abhngigkeia ten kann auch die Reihenfolge bei der Generierung von Projekten gesteuert werden. Die Abhngigkeiten fr Projekte werden uber den Meneintrag Project Properties und a u u Auswahl der Schaltche Projects dependencies gesetzt. a Codeblocks 5

CodeBlocks V1.1

1.9 Einbinden von Assembler Dateien

1.9 Einbinden von Assembler DateienIn der Projektansicht (Project View) im Fenter Management werden Assembler Dateien im Kategorie ASM Sources aufgefhrt. Die Anzeige von Dateien und Kategorien kann vom u Benutzer festgelegt werden (siehe Abschnitt 1.1 auf Seite 2). Durch einen Rechtsklick einer der gelisteten Assembler Dateien erhlt man ein Kontextmen. Darin net der Befehl a u o Properties ein neues Fenster. Klicken Sie darin auf den Reiter Build und aktivieren Sie die beiden Felder Compile le und Link le. Wechseln Sie nun auf den Reiter Advanced und fhren Sie folgende Schritte durch: u 1. Compiler variable auf CC setzen 2. Den Compiler unter For this compiler auswhlen a 3. Use custom command to build this le anwhlen a 4. Inhalt im Fenster eingeben:$compiler $options $includes -c $file -o $object

Dabei sind die CodeBlocks Variablen durch $ gekennzeichnet (siehe Abschnitt 3.4 auf Seite 60). Diese werden automatisch ersetzt, so dass Sie lediglich die Assembleroption durch Ihre Einstellungen ersetzen brauchen.

1.10 Editor und Hilfsmittel1.10.1 Default CodeDurch vorgegebene Coding Rules im Unternehmen mssen Quelldateien einen einheitu lichen Aufbau vorweisen. CodeBlocks bietet die Mglichkeit, beim Anlegen von neuen o C/C++ Quellen und Header einen vorgegebenen Inhalt am Anfang einer Datei automatisiert einzufgen. Die vorgebene Inhalt wird als Default Code bezeichnet. Die Einstellung u hierfr kann unter Stettings Editor Default Code vorgenommen werden. Wenn eine u neue Datei angelegt wird, dann wird eine Makroausung von Variablen, die zum Beispiel o uber das Men Settings Global variables deniert wurden, durchgefhrt. Eine neue u u Datei erzeugen Sie uber das Men File New File . u Beispiel/************************************************************************* * Project: $(project) * Function: ************************************************************************* * $Author: mario $ * $Name: $ ************************************************************************* * * Copyright 2007 by company name * ************************************************************************/

Codeblocks

6

CodeBlocks V1.1

1.10 Editor und Hilfsmittel

1.10.2 AbbreviationDurch Denition von Abkrzung in CodeBlocks kann einiges an Schreibarbeit und Zeit u gespart werden. Hierzu werden in Settings Editor sogenannte Abbreviations unter dem Namen angelegt, die uber das Tastenkrzel Ctrl-J aufgerufen werden (siehe u Abbildung 1.3 auf Seite 7).

Abbildung 1.3: Denition von Abkrzungen u Durch Einfgen von Variablen $(NAME) in den Abkrzungen ist auch eine Parametrisieu u rung mglich. o#ifndef $(Guard token) #define $(Guard token) #endif // $(Guard token)

Bei Aufruf der Abkrzung im Quelltext und Ausfhren von Ctrl-J, wird der u u Inhalt der Variablen abgefragt und eingefgt. u

1.10.3 PersonalitiesCodeBlocks Einstellungen werden als Anwendungsdaten im Verzeichnis codeblocks in einer Datei .conf gespeichert. Diese Kongurationsdatei enthlt Informationen a wie beispielsweise zuletzt genete Projekte, Einstellungen fr Editor, Anzeige von Symo u bolleisten etc. Standardmig ist die Personality default eingestellt, so dass die Kona guration in der Datei default.conf abgelegt ist. Wenn CodeBlocks mit dem Parameter --personality=myuser in der Kommandozeile aufgerufen wird, werden die Einstellungen

Codeblocks

7

CodeBlocks V1.1

1.10 Editor und Hilfsmittel

in der Datei myuser.conf gespeichert. Falls das Prol nicht bereits existiert, wird es automatisch angelegt. Durch diese Vorgehensweise knnen fr unterschiedliche durchzufhreno u u de Arbeitsschritte auch zugehrige Prole gespeichert werden. Wenn Sie CodeBlocks mit o dem zustzlichen Parameter --personality=ask starten erscheint ein Auswahldialog fr a u die verfgbaren Prole. u Hinweis: Der Name des aktuell verwendeten Prols/Personality wird rechts in der Statusbar angezeigt.

1.10.4 KongurationsdateienDie Einstellungen fr CodeBlocks werden im Prol default.conf im Ordner codeblocks u in Ihren Anwendungsdaten gespeichert. Bei Verwendung von personalities (siehe Unterabschnitt 1.10.3 auf Seite 7 werden die Konguration in der Datei .conf abgelegt. Mit dem Werkzeug cb share conf, aus dem CodeBlocks Installationsverzeichnis, knnen o diese Einstellungen verwaltet und gesichert werden. Falls Sie Standardeinstellung fr mehrere Benutzer eines PCs vorgeben mchten, muss die u o Kongurationsdatei default.conf im Ordner \Dokumente und Einstellungen\Default User\Anwendungsdaten\codeblocks abgelegt sein. Beim ersten Start von CodeBlocks werden die Voreinstellungen aus Default User in die Anwendungsdaten der aktuellen Benutzers kopiert. Zur Erzeugung einer portablen Version von CodeBlocks auf einem USB-Stick gehen Sie wie folgt vor. Kopieren Sie die CodeBlocks Installation auf einen USB-Stick und legen Sie die Kongurationsdatei default.conf in dieses Verzeichnis. Die Konguration wird als globale Einstellung verwendet. Bitte achten Sie darauf, dass die Datei schreibbar sein muss, damit Anderungen in der Konguration auch gespeichert werden knnen. o

1.10.5 Navigieren und SuchenIn CodeBlocks existieren unterschiedliche Mglichkeiten zum schnellen Navigieren zwio schen Dateien und Funktionen. Eine typische Vorgehensweise ist das Setzen von Lesezeichen (Bookmarks). Durch Bettigen des Tastenkrzel (Ctrl-B) wird ein Lesezeichen in a u einer Quelldatei gesetzt bzw. gelscht. Mit (Alt-PgUp) wird zum vorherigen Lesezeichen o gesprungen und mit (Alt-PgDn) zum nchsten gewechselt. a In der Projektansicht knnen Sie durch Auswhlen eines Projektes oder im gesamten o a Workspace uber das Kontextmen Find le in einem Dialog einen Dateinamen angeben. u Dieser wird anschlieend in der Projektansicht markiert und durch Eingabe mit Return im Editor genet (siehe Abbildung 1.4 auf Seite 9). o Fr das schnelle Navigieren zwischen Header/Quelle Dateien bietet CodeBlocks folgende u Mglichkeiten o 1. Cursor auf Zeile setzen wo Header includiert wird und uber Kontextmen open u include le onen (siehe Abbildung 1.5 auf Seite 9) Codeblocks 8

CodeBlocks V1.1

1.10 Editor und Hilfsmittel

Abbildung 1.4: Suche nach Dateien 2. Umschalten zwischen Quelle und Header uber Kontextmen Swap header/source u 3. Markieren eines Begries z.B. eines Denes in einer Datei und Aufruf des Kontextmen Find declaration u

Abbildung 1.5: Onen einer Header Datei CodeBlocks bietet verschiedene Mglichkeiten fr die Suche in einer Datei oder in Vero u zeichnissen. Mit dem Search Find (Ctrl-F) oder Find in Files (Ctrl-Shift-F) net o sich der Dialog fr die Suche. u Eine weitere komfortable Funktion bietet das Tastenkrzel Alt-G und Ctrl-Alt-G. Der sich u o nende Dialog erlaubt die Auswahl von Dateien/Funktionen und springt anschlieend an die Implementierung der Funktion (siehe Abbildung 1.6 auf Seite 10) bzw. nete die o ausgewhlte Datei. Als Eingabe werden auf Wildcards oder ? etc. fr eine inkrementelle a u Suche untersttzt. u Hinweis: Mit dem Tastenkrzel Ctrl-PAGEUP springen Sie an die vorherige u Funktion und mit Ctrl-PAGEDOWN zur nchsten Funktion. a Wenn Sie sich im Editor Fenster benden, net sich mit Ctrl-Tab ein zustzliches Open o a Files Dialog und es kann zwischen den Eintrgen der zu nenden Dateien gewechselt a o werden. Bei gedrckter Ctrl-Taste kann eine Auswahl auf unterschiedliche Weise erfolgen: u Codeblocks 9

CodeBlocks V1.1

1.10 Editor und Hilfsmittel

Abbildung 1.6: Suche nach Funktionen 1. Mit der linken Maustaste einen Eintrag anklicken und es net sich die Datei. o 2. Bettigen der Tab-Taste wechselt zwischen den Eintrgen. Durch Loslassen der Ctrla a Taste wird die ausgewhlte Datei genet. a o 3. Wenn die Maus uber die Eintrge bewegt werden, dann erscheint die aktuelle Ausa wahl farblich hervorgehoben. Beim Loslassen wird die ausgewhlte Datei genet. a o 4. Wenn der Mauszeiger auerhalb der farblich Hervorhebung steht, dann kann uber das Mausrad eine Auswahl getroen werden. Beim Loslassen der Crtl-Taste wird die ausgewhlte Datei genet. a o Eine huge Arbeitsweise bei der Entwicklung von Software ist jedoch, dass man sich a durch ein Satz von Funktion hangelt, die in unterschiedlichen Dateien implementiert sind. Durch das Plugin Browse Tracker zeigt mit dem Fenster Browsed Tabs eine Liste in der Reihenfolge wie Dateien selektiert wurden. Somit knnen Sie komfortabel zwischen den o Aufrufen navigieren (siehe Abschnitt 2.8 auf Seite 40). In CodeBlocks aktivieren Sie die Anzeige von Zeilennummern in Settings General Settings im Feld Show line numbers. Mit dem Tastenkrzel Ctrl-G oder uber das u Men Search Goto line springen Sie an die gewnschte Zeile. u u Hinweis: Sie knnen auch im Editor einen Begri mit gedrckter Ctrl Taste o u markieren und dann uber das Kontextmen nach diesem Begri z.B. u in Goolge suchen.

1.10.6 SymbolansichtFr das Navigieren uber Funktionen oder Variablen bietet das Management Fenster in u CodeBlocks eine Baumansicht fr Symbole von C/C++ Quellen. Dabei lsst sicht der u a Gltigkeitsbereich (Scope) der Ansicht auf die aktuelle Datei oder Projekt oder den geu samten Arbeitsbereich einstellen. Codeblocks 10

CodeBlocks V1.1 Hinweis:

1.10 Editor und Hilfsmittel

Wenn Sie einen Suchbegri bzw. Symbolnamen in die Eingabemaske Search des Symbol Browsers eingeben, erhalten Sie, bei vorhandenen Suchtreern, eine gelterte Ansicht von Symbolen. Fr die Kategorien der Symbole existieren folgende Kategorien. u Global functions Listet die Implementierung von globalen Funktionen. Global typedefs Listet die Verwendung von typedef Denitionen. Global variables Zeigt die Symbole von globalen Variablen an. Preprocessor symbols Auistung der mit #dene erzeugten Prprozessor Direktiven. a Global macros Listet Makros von Prprozessor Direktiven auf. a

Abbildung 1.7: Symbolansicht Strukturen und Klassen werden unterhalb im bottom tree angezeigt und die Sortierung kann uber das Kontextmen gendert werden. Wenn eine Kategorie mit der Maus anu a gewhlt wird, erscheinen die gefundenen Symbole in dem unteren Teil des Fensters (siehe a Codeblocks 11

CodeBlocks V1.1

1.10 Editor und Hilfsmittel

Abbildung 1.7 auf Seite 11). Ein Doppelklick auf das Symbol net die Datei, wo das o Symbol deniert bzw. die Funktion implementiert ist und springt an die zugehrige Zeile. o Die Symbolansicht wird beim Speichern einer Datei aktualisiert. Eine Auto-Refresh des Symbolbrowsers ohne Speichern ist uber das Men Settings Editor Code Compleu tion aktivierbar (siehe Abbildung 1.8 auf Seite 12). Bei Projekten mit vielen Symbolen wird die Performance innerhalb CodeBlocks beeintrchtgt. a

Abbildung 1.8: Aktivieren von Echtzeit-Parsing

Hinweis: Im Editor knnen Sie uber das Kontextmen Insert Class method o u declaration implementation bzw. All class methods without implementation sich auch die Liste der Klassen anzeigen lassen.

1.10.7 Einbinden von externen HilfenDie Entwicklungsumgebung CodeBlocks untersttzt das Einbinden von externen Hilfen u uber das Men Settings Environment . Fgen Sie ein Manual Ihrer Wahl im chm u u Format in Help Files hinzu und whlen Sie die Einstellung this is the default help le a (siehe Abbildung 1.9 auf Seite 13). Dabei steht im Eintrag $(keyword) als Platzhalter fr u einen Begri der im Editor markiert wird. Nun knnen Sie in CodeBlocks in einer geneo o ten Quelldatei eine Funktion mit der Maus durch Doppelklick markieren und anschlieend die Hilfe mit F1 aufrufen und erhalten die zugehrige Dokumentation. o Wenn Sie mehrere Hilfedateien einbinden, knnen Sie im Editor einen Begri markieren o und anschlieend uber das Kontextmen Locate in die Hilfedatei auswhlen, in der u a CodeBlocks suchen soll. In CodeBlocks werden auch die Hilfe mit man pages untersttzt. Hier fgen Sie einen u u neuen Eintrag man ein und geben den Pfad wie folgt an.man:/usr/share/man

CodeBlocks bietet auch einen Embedded HTML Viewer, hiermit knnen einfache HTMLo Dateien in CodeBlocks angezeigt und fr Suchen genutzt werden. Kongurieren Sie einu fach den Pfad der HTML-Datei, die durchsucht werden soll und aktivieren Sie die Option Open this le with embedded help viewer in dem Men Settings Environment u Help Files .

Codeblocks

12

CodeBlocks V1.1

1.10 Editor und Hilfsmittel

Abbildung 1.9: Einstellungen fr Hilfe u

Abbildung 1.10: Embedded HTML Viewer Hinweis: Wenn Sie eine HTML-Datei im File Explorer mit einem Doppelklick onen (siehe Abschnitt 2.7 auf Seite 36) dann wird der Embedded Html Viewer gestartet, solange fr HTML Dateien keine andere Zuu ordnung im le extension handler vorgenommen wurde.

Codeblocks

13

CodeBlocks V1.1

1.11 Tips zum Arbeiten mit CodeBlocks

1.10.8 Einbinden von externen WerkzeugenDie Einbindung von externen Tools ist in CodeBlocks unter dem Meneintrag Tools u Congure Tools Add vorgesehen. Fr die Ubergabeparameter der Tools kann auch u auf Built-in Variables (see Abschnitt 3.2 auf Seite 56) zugegrien werden. Des weiteren existieren fr das Starten von externen Anwendungen unterschiedliche Arten (Launching u options). Je nach Option werden die extern gestarteten Anwendung beim Beenden von CodeBlocks gestoppt. Falls die Anwendungen auch beim Beenden von CodeBlocks genet o bleiben sollen, ist die Option Launch tool visible detached einzustellen.

1.11 Tips zum Arbeiten mit CodeBlocksIn diesem Kapitel werden Ihnen einige ntzliche Einstellungen in CodeBlocks vorgestellt. u

1.11.1 Anderungen im Editor verfolgenCodeBlocks bietet die Mglichkeit genderte Stellen eines Quellcodes im Vergleich zu eio a ner Vorversion mit Hilfe von seitlich angebrachten Revisionsbalken automatisch sichtbar zu machen. Dabei werden Anderungen mit einem gelben Balken und gespeicherte Anderungen mit einem grnen Balken dargestellt (siehe Abbildung 1.11 auf Seite 14). Das u Navigieren zwischen den einzelnen Anderungen ist uber das Men Search Goto next u changed line oder Search Goto previous changed line mglich. Standardmig sind o a hierfr die Tastenkrzel Ctrl-F3 und Ctrl-Shift-F3 konguriert. u u

Abbildung 1.11: Verfolgen von Anderungen Diese Feature kann unter Settings Editor Margins and caret mit der Checkbox Use Changebar aktiviert bzw. deaktiviert werden. Hinweis: Wenn eine genderte Datei geschlossen wird, geht die Anderungsina formation fr Undo/Redo und die Revisionsbalken verloren. Uber das u Men Edit Clear changes history oder das zugehrige Kontextu o men kann auch bei geneter Datei die Anderungshistorie gelscht u o o werden.

1.11.2 Datenaustausch mit anderen AnwendungenZwischen CodeBlocks und anderen Anwendungen knnen Daten dynamisch ausgetauscht o werden. Diese Interprozess Kommuikation wird unter Windows auf DDE (Dynamic Data Codeblocks 14

CodeBlocks V1.1

1.11 Tips zum Arbeiten mit CodeBlocks

Exchange) und unter anderen Betriebssystemen auf eine TCP Kommunikation zwischen den Anwendungen abgebildet. Uber diese Schnittstelle knnen an CodeBlocks Kommandos mit der folgenden Syntax o weitergegeben werden.[("")]

Als Kommandos stehen zur Verfgung: uOpen

Mit dem folgenden Kommando[Open("d:\temp\test.txt")]

wird der Parameter, hier die Datei mit absolutem Pfad, innerhalb einer CodeBlocks Instanz genet oder bei Bedarf eine erste Instanz o gestartet.OpenLine

Das Kommando net eine Datei mit spezizierter Zeilennummer in o einer CodeBlocks Instanz. Diese Zeilennummer wird mit : line angegeben.[OpenLine("d:\temp\test.txt:10")]

Raise

Setzt den Fokus auf die CodeBlocks Instanz. Hier darf kein Parameter angegeben werden.

1.11.3 Konguration von UmgebungsvariablenDie Konguration fr ein Betriebssystem wird durch sogenannte Umgebungsvariablen u festgelegt. Zum Beispiel enthlt die Umgebungsvariablen PATH den Pfad auf einen ina stallierten Compiler. Das Betriebssystem geht diese Umgebungsvariable von vorne nach hinten durch, d.h. die Eintrge am Ende werden als letztes durchsucht. Wenn nun untera schiedliche Versionen eines Compilers oder anderer Anwendungen installiert sind, knnen o nun folgende Situationen auftreten: Die falsche Version einer Software wird aufgrufen Installierte Softwarepakete stren sich gegenseitig o Es knnte zum Beispiel notwendig sein, dass fr unterschiedliche Projekte unterschiedliche o u Versionen eines Compilers oder anderer Werkzeugen vorgeschrieben sind. Eine Mglicho keit ist die Umgebungsvariablen in der Systemsteuerung jeweils fr ein Projekt zu ndern. u a Diese Vorgehensweise ist jedoch fehleranfllig und nicht exibel. Fr diese Anforderung a u bietet CodeBlocks eine elegante Lsung. Es lassen sich hier unterschiedliche Konguratioo nen von Umgebungsvariablen erstellen, die nur intern in CodeBlocks verwendet werden. Zustzlich kann zwischen diesen Konguration umgeschaltet werden. Die Abbildung 1.12 a auf Seite 16 zeigt den Eingabedialog, den Sie uber das Men Settings Environment u und Auswahl von Environment Varibales erhalten. Eine Konguration wird uber die Schaltche Create erzeugt. Die Ubernahme der hinzugefgten Umgebungsvariablen era u folgt durch Besttigen des OK Knopfes. Das Aktivieren einer Konguration erfolgt uber a den Knopf Set Now. Codeblocks 15

CodeBlocks V1.1

1.11 Tips zum Arbeiten mit CodeBlocks

Abbildung 1.12: Umgebungsvariablen Der Zugri und der Gltigkeitkeitbereich auf die hier erstellten Umgebungsvariablen ist u auf CodeBlocks begrenzt. Sie knnen diese Umgebungsvariablen wie auch andere Codeo Blocks Variablen uber $(NAME) expandieren. Hinweis: Eine Konguration von Umgebungsvariable lsst sich pro Projekt im a Kontextmen Properties im Reiter EnvVars options selektieren. u Beispiel Sie knnen die verwendete Umgebung in einem postbuild Step (siehe Abschnitt 1.6 auf o Seite 4) in einer Datei .env schreiben und zu Ihrem Projekt archivieren.cmd /c echo \%PATH\% > project.env

oder unter Linuxecho \$PATH > project.env

1.11.4 Umschalten zwischen PerspektivenAbhngig von der Aufgabenstellung ist es sinnvoll unterschiedliche Kongurationen oder a Ansichten in CodeBlocks zu haben und diese zu speichern. Standardmig werden die a Einstellungen wie z.B. Anzeige von Symbolleisten, Layout etc. in der Kongurationsdatei default.conf gespeichert. Durch die Verwendung der Kommandozeilenoption --personality=ask beim Start von CodeBlocks kann zwischen verschiedenen Einstellungen umgeschaltet werden. Neben dieser globalen Einstellung besteht jedoch hug auch der Wunsch whrend a a einer Session zwischen Ansichten fr Fenster und Symbolleisten zu wechseln. Zwei typiu sche Szenarien sind z.B. das Editieren von Dateien oder das Debuggen eines Projektes. Codeblocks 16

CodeBlocks V1.1

1.11 Tips zum Arbeiten mit CodeBlocks

Damit der Anwender nicht stndig mit dem Onen und Schlieen von Fenstern, Symbola leisten etc. beschftigt ist, bietet CodeBlocks einen Mechanismus um unterschiedliche Pera spektiven zu speichern bzw. diese umzuschalten. Uber das Men View Perspectives u Save current und Eingabe eines Namens wird eine Perspektive gespeichert. Uber Settings Editor Keyboard shortcuts View Perspectives kann ein Tastenkrzel hierfr angegeben werden. Durch diese Vorgehensweise knnen Sie u u o nun einfach zwischen den Ansichten uber Ihre Tastenkrzel wechseln. u Hinweis: Ein weiteres Anwendungsbeispiel ist das Editieren einer Datei im Full Screen Modus ohne Symbolleisten. Hierfr knnen Sie sich auch eine u o Perspektive z.B. Full anlegen und ein Tastenkrzel vergeben. u

1.11.5 Umschalten zwischen ProjektenWenn mehrere Projekte oder Dateien gleichzeitig genet sind, so will der Benutzer hug o a zwischen den Projekten und Dateien schnell wechseln knnen. CodeBlocks stellt hierfr o u eine Reihe an Shortcuts zur Verfgung. u Alt-F5 Aktiviert vorheriges Projekt aus der Projektansicht. Alt-F6 Aktiviert nachfolgendes Projekt aus der Projektansicht. F11 Wechselt im Editor zwischen einer Quelldatei .cpp und der zugehrigen o Header Datei .h

1.11.6 Erweitere Einstellung fr Compiler uBeim Buildprozess eines Projektes werden die Ausgaben des Compilers in Fenster Messages im Reiter Build Log ausgegeben. Wenn Sie an detaillierten Information interessiert sind, kann die Ausgabe erweitert werden. Dazu whlen Sie unter Settings Compiler a and Debugger im Reiter Other Settings. Achten Sie darauf, dass beim Eintrag Selected Compiler der gewnschte Compiler einu gestellt ist. Die Einstellung Full command line im Feld Compiler Logging gibt die vollstndige Information im Build Log aus. Zustzlich kann diese Ausgabe in eine HTMLa a Datei geloggt werden. Hierzu ist die Einstellung Save build log to HTML le when nished erforderlich. Des weiteren bietet CodeBlocks eine Fortschrittsanzeige des Buildprozesses im Fenster Build Log. Diese aktivieren Sie mit dem Einstellung Display build progress bar.

1.11.7 Zoom im EditorCodeBlocks bietet einen sehr leistungsfhigen Editor. Eine Besonderheit ist, dass Sie ina nerhalb einer geneten Datei die Darstellung vergrern und verkleinern knnen. Wenn o o o Sie eine Maus mit einem Scrollrad haben, halten Sie einfach die Ctrl-Taste gedrckt und u scrollen im Editor uber das Rad nach vorne oder hinten.

Codeblocks

17

CodeBlocks V1.1

1.11 Tips zum Arbeiten mit CodeBlocks

Abbildung 1.13: Einstellung von Detailinformationen Hinweis: Mit dem Tastenkrzel Ctrl-Numepad-/ oder mit Edit Special u commands Zoom Reset knnen Sie auf die ursprngliche o u Schriftgre umschalten. o

1.11.8 Wrap ModeFr das Editieren von Textdateien z.B. *.txt innerhalb CodeBlocks ist es ntzlich den u u Eingabetext automatisch auf die Textbreite des Editorfensters in mehrere Zeilen umbrechen zu lassen. Diese Funktionalitt wird Word wrap genannt und diese lsst sich im a a Men Settings Editor Other Options und mit der Checkbox Word wrap aktivieu ren. Durch die Home/Pos 1 Taste springt der Cursor an den Anfang und mit End/Ende an das Ende der umgebrochenen Zeilen. Durch die Einstellung Settings Editor Other Options und dem Setzen von Home key always move to caret to rst column wird erreicht, dass die Home/Pos 1 bzw. End/Ende Taste der Cursor an den Zeilenanfang bzw. an das Ende der aktuellen Zeile springt. Falls jedoch ein Sprung des Cursors an den Zeilenanfang des Abschnitts gewnscht ist, muss stattdessen die Tastenkombination u Atl-Home/Pos 1 gedrckt werden. Entsprechendes gilt fr Alt-End/Ende . u u

1.11.9 Select Modes im EditorCodeBlocks untersttzt im Editor verschiedene Modes fr Selektion und Einfgen von u u u Text. Codeblocks 18

CodeBlocks V1.1

1.11 Tips zum Arbeiten mit CodeBlocks

1. Mit der linken Maustaste kann ein Text innerhalb des Editors selektiert werden und dann die Maustaste gelst werden. Nun kann der Benutzer mit dem Mausrad o innerhalb des aktiven Editors scrollen und durch Bettigen der mittleren Maustaste, a wird der ehemals selektierte Text an die aktuelle Cursorposition eingefgt. Dieses u Verhalten funktioniert pro Datei und die Selektion kann als Zwischenablage pro Datei verstanden werden. 2. Durch Halten der ALT Taste wird der Block-Select Modus aktiviert und ein Rechteck kann mit der linken Maustaste aufgezogen werden und dann kopiert bzw. eingefgt weden. Dies ist zum Beispiel ntzlich, wenn nur einige Spalten eines Array u u markiert und kopiert werden sollen. 3. Im Men Settings Editor Margins und Caret knnen sogenannte Virtual u o Spaces aktiviert werden. Diese Option bewirkt, dass im Block Select Modus eine Auswahl auch innerhalb einer leeren Zeilen beginnen oder enden kann. 4. Im Men Settings Editor Margins und Caret kann Multiple Selection u aktiviert werden. Bei gedrckter Crtl-Taste knnen dann mit der linken Maustaste u o mehrere Textpassagen im Editor selektiert werden. Die Selektionen knnen mit Ctrlo C bzw. Ctrl-X in der Zwischenablage hintereinander angehngt und mit Ctrl-V an a die gewnschte Stelle eingefgt werden. Zudem kann im multiple Selection Modus u u die Option Enable typing (and deleting) aktiviert werden. Dies kann z.B. ntzlich u sein, wenn Sie an mehreren Stellen eine Prprozessor Direktive wie #ifdef einfgen a u wollen oder z.B. ein Text an mehreren Stellen uberschreiben oder ersetzen wollen. Hinweis: Beachten Sie, dass die meisten Linux Fenstermanager diese Tastenkombination fr das Verschieben von Fenster vordenieren. Deshalb u muss dieses Verhalten des Fenstermanager gendert werden, damit a der Block select mode unter Linux funktioniert.

1.11.10 Code foldingCodeBlocks untersttzt ein sogenanntes Folding fr Quellen. Hiermit lassen sich zum u u Beispiel Funktionen zusammenklappen. Ein Folding Punkt erkennen Sie im Editor als Minussymbol im linken Seitenrand. Hier wird auch der Beginn und das Ende eines Folding Punktes durch eine vertikale Linie gekennzeichnet. Wenn Sie mit der linken Maustaste auf das Minussymbol klicken wir der entsprechende Abschnitt eingekappt bzw. ausgeklappt. Sie knnen uber das Menu Edit Folding einstellen wie eingeklappt werden soll. o Im Editor wird ein eingeklappte Codestelle durch eine durchgehende horizontale Linie dargestellt. Hinweis: Der Stil fr das Folding und eine Grenze fr die Folding-Tiefe kann u u im Men Settings Editor Folding gendert werden. u a

Codeblocks

19

CodeBlocks V1.1

1.11 Tips zum Arbeiten mit CodeBlocks

Neben dem Folding fr Funktionen kann die Funktionalitt auch fr Prprozessor Direku a u a tiven eingestellt werden. Aktivieren Sie hierfr die Option Fold preprocessor commands u im Men Settings Editor unter dem Eintrag Folding. u Eine weitere Mglichkeit ist benutzerdenierte Folding Punkte zu denieren, indem ein o Kommentarzeichen durch eine genete Klammer den Anfang und ein Kommentar mit o schlieender Klammer das Ende markiert.//{ code with user defined folding //}

Hinweis: Bei eingeschaltetem Folding passiert es hug, dass bei engem Seia tenrand der Anwender anstatt die gewnschte Zeile zu markieren, u den Folding point selektiert. In diesem Modus ist es deshalb ratsam die Zeilennummern im Editor einzublenden und dann mit der linken Maustaste in den linken Seitenrand neben der Anzeige der Zeilennummern eine oder mehrere Zeile zu markieren.

1.11.11 Auto complete CodeBlocks parst beim Onen eines Projektes die Search directories die fr einen Comu piler oder Projekt eingestellt wurden und die im Projekt bendlichen Quellen und Header. Des weiteren werden auch die Keywords der zugehrigen Lexerdateien geparst. Die aus o dem Parsen gewonne Information uber Symbole kann fr die sogenannte Auto completion u genutzt werden, wenn diese in den Einstellungen des Editors fr CodeBlocks aktiviert ist. u Die Auto completion knnen Sie im Editor uber das Tastenkrzel Ctrl-Space ausfhren. o u u Im Men Settings Editor Syntax highlighting knnen eigene keywords zum Lexer u o hinzugefgt werden. u

1.11.12 Find broken lesWenn eine Datei auf der Festplatte gelscht wurde, jedoch in der Projektbeschreibung o .cbp noch enthalten ist, dann wir diese Datei als broken le mit einem unterbrochenem Symbol in der Project View von CodeBlocks angezeigt. Das Entfernen einer Datei sollte in der Projekt View mit dem Kontextmen Remove le from project u vorgenommen werden. Bei greren Projekten mit vielen Unterordnern kann die Suchen nach broken les sehr o schwierig werden. CodeBlocks bietet jedoch mit dem Plugin ThreadSearch (siehe Abschnitt 2.6 auf Seite 32) eine einfache Lsung. Wenn Sie in ThreadSearch einen Suchbegri o eingeben und als Option Project les oder Workspace les whlen, wird ThreadSearch a alle Dateien eines Projektes durchsuchen; falls ein broken le im Projekt oder Workspace vorkommt, wird als Fehler diese Datei gemeldet.

1.11.13 Einbinden von BibliothekenIn den Builtoption eines Projektes knnen Sie unter Linker Settings im Eintrag Link o libraries uber die Schaltche Add verwendete Bibliotheken hinzufgen. Dabei knnen a u o Codeblocks 20

CodeBlocks V1.1

1.11 Tips zum Arbeiten mit CodeBlocks

Sie entweder den absoluten Pfad zur Bibliothek durchsuchen oder nur den Namen ohne den Prex lib und die Dateiendung angeben. Beispiel Fr eine Bibliothek \libs\lib.a geben Sie einfach an. Der u Linker mit den jeweiligen Suchpfaden fr die Bibliotheken bindet diese dann korrekt ein. u Hinweis: Eine weitere Mglichkeit wie Sie Bibliotheken einbinden knnen, beo o schreibt Abschnitt 2.10 auf Seite 41.

1.11.14 Linkreihenfolge von ObjektenBeim Compilierung werden aus Quellen name.c/cpp werden Objekte name.o erzeugt. Der Linker bindet die einzelnen Objekten zu einer Anwendung name.exe oder fr den u Embedded Bereiche name.elf. In einigen Fllen ist es wnschenswert die Reihenfolge a u fr das Binden von Objekten vorzugeben. In CodeBlocks kann dies durch die Vergabe u von sogenannten Prioritten erzielt werden. Stellen Sie fr eine Datei uber das Kontexta u men Properties im Reiter Build die Prioritt ein. Dabei fhrt eine geringe Prioritt u a u a des Objekts dazu, dass es zu erst gebunden wird.

1.11.15 AutosaveCodeBlocks bietet die Mglichkeit Projekte und Quelldateien automatisch zu speichern o bzw. eine Sicherungskopie anzulegen. Diese Funktionalitt wird im Men Settings Environment a u Autosave eingestellt. Dabei sollte als Save to .save le als Methode fr das Erstellen u einer Sicherungskopie eingestellt werden.

1.11.16 Einstellen fr Dateizuordnungen uIn CodeBlocks knnen Sie zwischen verschiedenen Arten der Behandlung von Dateieno dungen whlen. Die Einstellungen erhalten Sie uber Settings Files extension handling a . Sie knnen entweder die von Windows zugeordneten Anwendungen (open it with the o associated application) fr entsprechende Dateiendungen verwenden oder fr jede Dateiu u endungen die Einstellungen so andern, dass entweder ein benutzerdeniertes Programm (launch an external program) gestartet wird oder die Datei in Editor von CodeBlocks genet wird (open it inside Code::Blocks editor). o Hinweis: Wenn ein benutzerdeniertes Programm fr eine Dateiendung u gewhlt wird, sollte die Einstellung Disable Code::Blocks while the a external programm is running deaktiviert werden, da sonst beim Onen dieser Dateien CodeBlocks beendet wird.

Codeblocks

21

CodeBlocks V1.1

1.12 CodeBlocks in der Kommandozeile

1.12 CodeBlocks in der KommandozeileDie IDE CodeBlocks kann auch ohne grasche Oberche in der Kommandozeile ausa gefhrt werden. Dabei stehen unterschiedliche Schalter zur Verfgung um den Buildprou u zess eines Projektes zu steuern. Da CodeBlocks somit skriptfhig ist, kann die Erzeugung a von Exectutables in eigene Arbeitsablufe integriert werden. acodeblocks.exe /na /nd --no-splash-screen --built .cbp --target=Release

Species the project *.cbp lename or workspace *.workspace lename. For instance, may be project.cbp. Place this argument at the end of the command line, just before the output redirection if there is any.

--file=[:line] Open le in Code::Blocks and optionally jump to a specic line. /h, --help Shows a help message regarding the command line arguments.

/na, --no-check-associations Dont perform any le association checks (Windows only). /nd, --no-dde /ni, --no-ipc Dont start a DDE server (Windows only). Dont start an IPC server (Linux and Mac only).

/ns, --no-splash-screen Hides the splash screen while the application is loading. /d, --debug-log Display the debug log of the application. --prefix= Sets the shared data directory prex. /p, --personality=, --profile= Sets the personality to use. You can use ask as the parameter to list all available personalities. --rebuild Clean and build the project or workspace.

--build Build the project or workspace. --target= Sets target for batch build. For example --target=Release. --no-batch-window-close Keeps the batch log window visible after the batch build is completed. --batch-build-notify Shows a message after the batch build is completed. --safe-mode Alle Plugins werden beim Start deaktiviert.

> Placed in the very last position of the command line, this may be used to redirect standard output to log le. This is not a codeblock option as such, but just a standard DOS/*nix shell output redirection. Codeblocks 22

CodeBlocks V1.1

1.13 Shortcuts

1.13 ShortcutsAuch wenn man eine IDE wie CodeBlocks uberwiegend mit der Maus bedient, erweisen sich dennoch Tastenkombinationen immer wieder als hilfreich, um die Arbeit zu vereinfachen und zu beschleunigen. In nachstehender Tabelle sind einige verfgbare Tastenkomu binationen zusammengefasst.

1.13.1 EditorFunction Undo last action Redo last action Swap header / source Comment highlighted code Uncomment highlighted code Auto-complete / Abbreviations Toggle bookmark Goto previous bookmark Goto next bookmark Shortcut Key Ctrl-Z Ctrl-Shift-Z F11 Ctrl-Shift-C Ctrl-Shift-X Ctrl-Space/Ctrl-J Ctrl-B Alt-PgUp Alt-PgDown

This is a list of shortcuts provided by the CodeBlocks editor component. These shortcuts cannot be rebound. Create or delete a bookmark Go to next bookmark Select to next bookmark Find selection. Find selection backwards. Find matching preprocessor conditional, skipping nested ones. Ctrl-F2 F2 Alt-F2 Ctrl-F3 Ctrl-Shift-F3 Ctrl-K

1.13.2 FilesFunction New le or project Open existing le or project Save current le Save all les Close current le Close all les Shortcut Key Ctrl-N Ctrl-O Ctrl-S Ctrl-Shift-S Ctrl-F4/Ctrl-W Ctrl-Shift-F4/Ctrl-Shift-W

1.13.3 ViewFunction Show / hide Messages pane Show / hide Management pane Activate prior (in Project tree) Activate next (in Project tree) Shortcut Key F2 Shift-F2 Alt-F5 Alt-F6

Codeblocks

23

CodeBlocks V1.1

1.13 Shortcuts

1.13.4 SearchFunction Find Find next Find previous Find in les Replace Replace in les Goto line Goto next changed line Goto previous changed line Goto le Goto function Goto previous function Goto next function Goto declaration Goto implementation Open include le Shortcut Key Ctrl-F F3 Shift-F3 Crtl-Shift-F Ctrl-R Ctrl-Shift-R Ctrl-G Ctrl-F3 Ctrl-Shift-F3 Alt-G Ctrl-Alt-G Ctrl-PgUp Ctrl-PgDn Ctrl-Shift-. Ctrl-. Ctrl-Alt-.

1.13.5 BuildFunction Build Compile current le Run Build and Run Rebuild Shortcut Key Ctrl-F9 Ctrl-Shift-F9 Ctrl-F10 F9 Ctrl-F11

Codeblocks

24

2 Plugins2.1 AstyleArtistic Style dient dem Einrcken, Formatieren und Verschnern fr C, C++, C# u o u Quellen. Es kann verwendet werden um unterschiedliche Coding Rules fr CodeBlocks u einzustellen.

Abbildung 2.1: Formatierung fr Quellcode u Wenn Quellen eingerckt werden, tendieren Programmierer dazu sowohl Leerzeichen als u auch Tabulatoren einzusetzen, um die gewnschte Einrckung zu erzielen. Darberhinaus u u u gibt es auch Editoren die standardmig Tabulatoren durch eine feste Anzahl von Leera zeichen ersetzen. Andere Editoren versuchen den Code durch Einfgen von White space u lesbarer zu machen selbst wenn der Code Tabulatoren enthlt. a Da die Anzeige der Leerzeichen fr jeden Tabulator durch die Einstellungen im Editor u bestimmt ist, wirft dies immer ein Problem auf, wenn Programmierer unterschiedliche Editoren verwenden. Selbst bei grter Sorgfalt fr die Formatierung der Quelle kann das o u Editieren durch andere Programmieren mit unterschiedlichen Editoren oder Einstellungen schnell Problemen verursachen. Um diesen Problem Rechnung zu tragen, wurde Artistic Style entwickelt - ein Filter, der automatisch Ihre C / C++ / C# einrckt und formatiert. u

CodeBlocks V1.1 Hinweis:

2.2 CodeSnippets

Durch Kopieren von Code z.B aus dem Internet oder aus einem Manual wird in CodeBlocks der Code automatisch an die ausgewhlten a Coding-Rules angepasst, indem Sie den Text markieren und das Plugin uber das Men Plugins Source code formatter ausfhren. u u

2.2 CodeSnippetsDas Plugin CodeSnippets ermglicht es Textbausteine und Verknpfungen auf Dateien in o u einer Baumansicht nach Kategorien zu strukturieren. Die Bausteine dienen dazu, hug a verwendete Dateien oder Konstrukte in Textbausteine abzulegen und zentral zu verwalten. Stellen Sie sich vor eine Reihe von hug verwendeten Quelldateien sind im Dateisystem in a unterschiedlichen Ordnern abgelegt. Im Fenster CodeSnippets knnen Sie nun Kategorien o und darunter Verknpfungen auf die gewnschten Dateien erstellen. Damit knnen Sie u u o den Zugri auf die Dateien unabhngig von der Ablage im Dateisystem verwalten und a ohne das Dateisystem zu durchsuchen schnell zwischen diesen Dateien navigieren. Hinweis: Sie knnen auch CodeBlocks Variablen oder Umgebungsvaraiblen vero wenden, um Links im CodeSnippets Browser zu parametrisieren z.B. $(VARNAME)/name.pdf. Die Liste der Textbausteine und Verknpfungen knnen im CodeSnippets Fenster mit u o der rechten Maustaste uber das Kontextmen Save Index gespeichert werden. Die dabei u erzeugte Datei codesnippets.xml bendet sich anschlieend in Ihren Dokumente und Einstellungen\Anwendungsdaten im Ordner codeblocks. Unter Linux wird diese Information im HOME-Verzeichnis im Ordner .codeblocks abgelegt. Die Kongurationsdateien von CodeBlocks werden beim nchsten Start geladen. Falls Sie den Inhalt von a CodeSnippets an einen anderen Ort speichern mchten, selektieren Sie den Eintrag Save o Index As. Zum Laden dieser Datei whlen Sie beim nchsten Start von CodeBlocksLoad a a Index File oder stellen das Verzeichnis in dem Kontextmen Settings unter Snippet u Folder ein. Diese Einstellungen werden in der zugehrigen Datei codesnippets.ini in o den Anwendungsdaten hinterlegt. Das Einfgen einer Kategorie geschieht uber das Men Add SubCategory. In einer Kau u tegorie knnen Snippets (Textbausteine) oder File Links (Verknpfungen) liegen. Ein o u Textbaustein wird mit dem Kontextmen uber Add Snippet angelegt. Indem Sie einen u Text im CodeBlocks Editor markieren und anschlieend bei gedrckter linker Maustaste u per Drag and Drop auf den Textbaustein ziehen, wird der Inhalt in den Textbaustein eingefgt. Wenn Sie einen selektierten Text auf eine Kategorie ziehen wird in diesem Ordu ner automatisch ein Textbaustein mit dem Namen New snippet erzeugt und es net o sich der Properties Dialog. Durch einen Doppelklick auf den neu eingefgten Eintrag oder u durch Auswahl von Edit Text net sich ein eigenstndiger Editor zum Bearbeiten des o a Inhaltes. Die Ausgabe eines Textbausteines in CodeBlocks erfolgt uber das Kontextmen Apply u oder durch Drag und Drop in den Editor. Die Inhalte eines Snippets knnen auch in o Codeblocks 26

CodeBlocks V1.1

2.2 CodeSnippets

Abbildung 2.2: Bearbeiten eines Textbausteins andere Anwendungen gezogen werden. Im CodeSnippets Browser knnen Sie auch per o Drag and Drop einen Eintrag in eine andere Kategorie kopieren. Textbausteine sind darberhinaus auch uber Variablen , die uber $(name) zuu gegrien werden, parametrisierbar (siehe Abbildung 2.2 auf Seite 27). Die Abfrage fr u die Werte der Variablen erfolgt uber ein Eingabefeld, wenn der Textbaustein mit dem Kontextmen Apply aufgerufen wird. u Neben den Textbausteinen knnen auch Verknpfungen auf Dateien angelegt werden. o u Wenn Sie zuvor einen Textbaustein angelegt haben und anschlieend das Kontextmen Prou perties auswhlen, selektieren Sie mit der Schaltche Link target das Ziel der Vera a knpfung. Eine Verknpfung kann auch uber das Kontextmen Convert to FileLink eru u u zeugt werden. Dieser Schritt wandelt den Textbaustein automatisch in eine Verknpfung u auf eine Datei um. In CodeSnippets werden Textbausteine mit einem T-Symbol und Verknpfungen auf eine Datei mit einen F-Symbol und Urls mit einem U-Symbol gekennu zeichnet. Falls Sie die in Codesnippets markierte Datei (Verknpfung) nen mchten u o o selektieren Sie im Kontextmen Open File oder halten Sie die Alt Taste gedrckt und u u machen ein Doppelklick auf die Datei. Hinweis: In Textbausteine knnen auch Urls angegeben werden z.B. o http://www.codeblocks.org. Die Url kann wahlweise uber das Kon textmen Open Url oder per Drag and Drop in Ihrem gewohnten u Webbrowser genet werden. o Falls Sie diese Einstellung vorgenommen haben, dann wird wenn Sie z.B. einen Verknpfung auf eine pdf-Datei aus der Codesnippets Ansicht nen automatisch ein pdfu o Viewer gestartet. Dieses Vorgehen ermglicht dem Benutzer Dateien, die uber das Netzo werk verteilt liegen, wie z.B. CAD Daten, Schaltplne, Dokumentation etc. als Vera knpfung einfach uber die gewohnten Anwendungen zuzugreifen. Der Inhalt der Cou desnippets wird in der Datei codesnippets.xml und die Konguration in der Datei codesnippets.ini in Ihren Anwendungsdaten gespeichert. In dieser ini Datei wird z.B. der Ablageort der Datei codesnippets.xml hinterlegt.

CodeBlocks untersttzt die Verwendung von unterschiedlichen Prolen. Diese werden als u personalities bezeichnet. Wenn Sie CodeBlocks mit der Kommandozeilen Option --personality= Knopf (siehe Abbildung 2.12 auf Seite 44).

Abbildung 2.12: Project conguration Die Anzeige von Bibliotheken, die LibFinder bekannt sind, kann geltert werden. Die Checkbox Show as Tree erlaubt das Umschalten zwischen kategorisiert und nicht kategorisierter Ansicht. Wenn Sie Bibliotheken, die nicht in der LibFinder Datenbank verfgbar sind, einfgen wolu u len, whlen Sie den Eintrag Unknown Library . Sie sollte fr die Angabe der Bibliothek a u das ubliche Krzel verwenden (entspricht normalerweise dem globalen Variablennamen) u oder den Name der Bibliothek in pkg-cong. Eine Liste von empfohlen Shortcodes nden Sie auf Global Variables. Die Verwendung dieser Option ist nur dann ratsam, wenn Codeblocks 44

CodeBlocks V1.1

2.11 AutoVersioning

ein Projekt auf unterschiedlichen Systemen erzeugt werden soll, wo die erforderlichen Bibliotheken existieren und durch LibFinder ermittelt werden knnen. Der Zugri auf eine o globale Variable innerhalb von CodeBlocks sieht wie folgt aus:$(#GLOBAL_VAR_NAME.lib)

Die Auswahl der Option Dont setup automatically wird LibFinder anweisen die Bibliotheken nicht automatisch beim Kompilieren des Projektes einzubinden. In einem solchen Fall kann LibFinder aus einem Build Script ausgefhrt werden. Ein Beispiel fr ein solu u ches Skript wird durch Auswahl des Mens Add manual build script erzeugt und dem u Projekt hinzugefgt. u

2.10.3 Verwendung von LibFinder und aus Wizards erzeugten ProjektenWizards erzeugen Projekte, die nicht LibFinder nutzen. Die Verwendung des Plugins erfordert, das der Benutzer die Einstellung in den Build options im Reiter Libraries anpasst. Die Vorgehensweise sieht so aus, dass alle Bibliothek spezische Einstellungen entfernt werden mssen und die bentigten Bibliotheken im Reiter Libraries eingefgt u o u werden. Diese Art von Projeken werden somit unabhngig von dem verwendeten Betriebssytem. a Solange nur Bibliotheken, die in der LibFinder Datenbank deniert wurden, verwendet werden, werden die Build Optionen eines Projektes automatisch aktualisiert, so dass die Einstellung auch fr die plattformabhngigen Einstellungen von Bibliotheken funktionieu a ren.

2.11 AutoVersioningEin Plugin zur Versionierung von Anwendungen, indem die Versions- und Buildnummer ei ner Anwendung jedesmal hochgezhlt wird, wenn eine Anderung stattgefunden hat. Diese a Information wird uber einfach benutzbare Variablendeklarationen in der Datei version.h abgelegt. Des weiteren sind mglich: Ubergaben im SVN Stil, ein Versionsschema Editor, o ein Change Log Generator und ein Log Generator und vieles mehr . . .

2.11.1 EinleitungDie Idee dieses Plugins entstand bei Entwicklung von Software, die sich im frhen preu alpha Status befand und eine Art von Versionsinformation bentigte. Beschftigt durch o a die Erstellung von Code, blieb keine Zeit um die Versionsnummer zu pegen, deshlab wurde ein Plugin entwickelt, dass diese Arbeit erledigt und nur minimaler Bedienereingri erfordert.

2.11.2 FeaturesHier nden Sie eine Liste von Features, die vom Plugin abgedeckt werden. Untersttzung fr C und C++. u u

Codeblocks

45

CodeBlocks V1.1 Generiert und auto inkrementiert Versionsvariablen. Software status editor.

2.11 AutoVersioning

Integrierter Schemeneditor fr die Konguration wie automatische Hochzhlen der u a version values geschehen soll. Datum deklariert als Monat, Datum und Jahr. Ubuntu style version. Svn revision check. Change log generator. Funktioniert unter Windows und Linux.

2.11.3 HandhabungWhlen Sie einfach das Men Project Autoversioning . Das Pop Up Fenster wie auf a u ?? auf Seite ?? erscheint.

Abbildung 2.13: Congure project for Autoversioning Wenn Sie den Dialog mit yes besttigen, dann wird der Kongurationsdialog von Autoa versioning angezeigt. Nachdem Sie Ihr Projekt fr Autoversioning konguriert haben, werden die Einstellungen u aus dem Eingabedialog im Projekt gespeichert und eine Datei version.h wird angelegt. Ab diesem Zeitpunkt wird bei jedem Aufruf des Mens Project Autoversioning der u Kongurationsdialog aufgerufen, um die Einstellung fr Projektversion vorzunehmen, es u sei denn Sie speichern die Anderungen des Plugins in Projektdatei.

2.11.4 Dialog notebook tabs2.11.4.1 Version Values Hier knnen Sie einfach die zugehrigen Version Values eintragen oder Auswhlen ob Auto o o a Versioning diese fr Sie hochzhlt (siehe Abbildung 2.14 auf Seite 47). u a Major Wird um eins hochgezhlt wenn die Minor Version ihr Maximum erreicht a Minor Wird um eins hochgezhlt wenn die Anzahl von Build die Schranke build times a uberschreitet. Der Wert wird auch Null zurckgesetzt, nachdem die maximale Anu zahl bereits erreicht wurde. Codeblocks 46

CodeBlocks V1.1

2.11 AutoVersioning

Build Number Gleichbedeutend mit Release und wird jedesmal wenn die Revison Number steigt um eins hochgezhlt. a Revision Zhlt die Revision zufallsartig hoch, wenn das Projekt gendert oder kompiliert a a wurde.

Abbildung 2.14: Set Version Values 2.11.4.2 Status Einige Felder sind auf vordeniert Werte voreingestellt (siehe Abbildung 2.15 auf Seite 48). Software Status Ein typisches Beispiel wre v1.0 Alpha a Abbreviation Gleichbedeutend mit Software Status, aber in der Form: v1.0a 2.11.4.3 Scheme Hier stellen Sie ein, wie das Plugin die version values hochzhlt (siehe Abbildung 2.16 auf a Seite 48). Minor maximum Die obere Schranke fr den Wert Minor. Wenn diese erreicht ist, wird u Major hochgezhlt und beim nchsten Kompilevorgang des Projektes wird Minor a a auf Null zurckgesetzt. u Build Number maximum Wenn der Wert erreicht wurde, wird beim nchsten Kompilea vorgang der Wert auf Null zurckgesetzt. Die Einstellung 0 setzt das Maximum auf u unendlich

Codeblocks

47

CodeBlocks V1.1

2.11 AutoVersioning

Abbildung 2.15: Setzen Status von Autoversioning

Abbildung 2.16: Scheme of autoversioning

Codeblocks

48

CodeBlocks V1.1

2.11 AutoVersioning

Revision maximum Gleichbedeutend mit Maximum fr Build Number maximum. Die u Einstellung 0 setzt das Maximum auf unendlich Revision random maximum Die Revisions Nummer wird durch Zufallszahlen hochgezhlt. a Eine Einstellung mit 1, wird die Revision um eins erhhen. o Build times before incrementing Minor Nach Anderungen im Code und Kompilierung wird die Build History inkrementiert und wenn dieser Wert erreicht wird, dann wir der Minor Wert auch inkrementiert. 2.11.4.4 Einstellungen Hier knnen Sie einige Einstellungen fr Auto Versioning vornehmen (siehe Abbildung 2.17 o u auf Seite 49).

Abbildung 2.17: Settings von Autoversioning Autoincrement Major and Minor Lassen Sie das Plugin nach diesem Schema den Wert inkrementieren. Wenn es nicht ausgewhlt wurde, dann wird nur die Build Number a und die Revision hochgezhlt. a Create date declarations Erzeugt in der Datei version.h Eintrge fr Datum und Ubuna u tu style version. Do Auto Increment Weist das Plugin an bei jeder Anderung noch vor dem Kompilevorgang zu inkrementieren. Header language Einstellung der Sprache fr Ausgabe in version.h u Codeblocks 49

CodeBlocks V1.1

2.11 AutoVersioning

Ask to increment Wenn Do Auto Increment aktiv ist, wird vor dem Kompilevorgang bei Anderungen nachgefragt, ob hochgezhlt werden soll. a svn enabled Sucht nach der SVN Revision und Datum im aktuellen Verzeichnis und erzeugt die zugehrigen Eintrge in version.h o a 2.11.4.5 Changes Log Durch diese Einstellung wird die Eingabe fr jegliche Anderung an einem Projekt in die u Datei ChangesLog.txt generiert (siehe Abbildung 2.18 auf Seite 50).

Abbildung 2.18: Changelog von Autoversioning Show changes editor when incrementing version Ruft den Changes log editor auf, wenn die Version inkrementiert wird. Title Format Format fr Title mit einer Liste von vordenierten Werten. u

2.11.5 Einbinden in den QuellenFr die Verwendung der Variablen, die durch das Plugin erzeugt wurden, mssen Sie die u u Datei #include in den Quellen einfgen. Ein Beispiel fr eine Quelle knnte u u o wie folgt aussehen:#include #include "version.h" void main(){ std::cout