CodeBlocksManualVersion 1.1Thanks to the CodeBlocks team:Anders F. Bj¨rklund (afb), Biplab Kumar Modak (biplab), Bartomiej...
1 CodeBlocks ProjektverwaltungDie Dokumentation f¨r Kapitel 3 auf Seite 55 und ?? auf Seite ?? sind offizielle Doku-        ...
CodeBlocks V1.1                                                       1.1 Projektansicht                         ¨Die Stat...
CodeBlocks V1.1                                                 1.2 Notizen f¨r Projekte                                  ...
CodeBlocks V1.1                                                    1.5 Virtual Targets                            Abbildun...
CodeBlocks V1.1                            1.7 Hinzuf¨gen von Scripts in Build Targets                                    ...
CodeBlocks V1.1                                     1.9 Einbinden von Assembler Dateien1.9 Einbinden von Assembler Dateien...
CodeBlocks V1.1                                               1.10 Editor und Hilfsmittel1.10.2 AbbreviationDurch Definitio...
CodeBlocks V1.1                                                1.10 Editor und Hilfsmittelin der Datei myuser.conf gespeic...
CodeBlocks V1.1                                             1.10 Editor und Hilfsmittel                          Abbildung...
CodeBlocks V1.1                                              1.10 Editor und Hilfsmittel                         Abbildung...
CodeBlocks V1.1                                             1.10 Editor und Hilfsmittel         Hinweis:         Wenn Sie ...
CodeBlocks V1.1                                               1.10 Editor und HilfsmittelAbbildung 1.7 auf Seite 11). Ein ...
CodeBlocks V1.1                                          1.10 Editor und Hilfsmittel                      Abbildung 1.9: E...
CodeBlocks V1.1                               1.11 Tips zum Arbeiten mit CodeBlocks1.10.8 Einbinden von externen Werkzeuge...
CodeBlocks V1.1                                1.11 Tips zum Arbeiten mit CodeBlocksExchange) und unter anderen Betriebssy...
CodeBlocks V1.1                               1.11 Tips zum Arbeiten mit CodeBlocks                         Abbildung 1.12...
CodeBlocks V1.1                                1.11 Tips zum Arbeiten mit CodeBlocks                                      ...
CodeBlocks V1.1                               1.11 Tips zum Arbeiten mit CodeBlocks                  Abbildung 1.13: Einst...
CodeBlocks V1.1                               1.11 Tips zum Arbeiten mit CodeBlocks  1. Mit der linken Maustaste kann ein ...
CodeBlocks V1.1                                1.11 Tips zum Arbeiten mit CodeBlocksNeben dem Folding f¨r Funktionen kann ...
CodeBlocks V1.1                                1.11 Tips zum Arbeiten mit CodeBlocksSie entweder den absoluten Pfad zur Bi...
CodeBlocks V1.1                                 1.12 CodeBlocks in der Kommandozeile1.12 CodeBlocks in der KommandozeileDi...
CodeBlocks V1.1                                                          1.13 Shortcuts1.13 ShortcutsAuch wenn man eine ID...
CodeBlocks V1.1                               1.13 Shortcuts1.13.4 Search Function                     Shortcut Key Find  ...
2 Plugins2.1 AstyleArtistic Style dient dem Einr¨cken, Formatieren und ’Versch¨nern’ f¨r C, C++, C#                       ...
CodeBlocks V1.1                                                        2.2 CodeSnippets          Hinweis:          Durch K...
CodeBlocks V1.1                                                     2.2 CodeSnippets                    Abbildung 2.2: Bea...
CodeBlocks V1.1                                                       2.2 CodeSnippetsEinstellungen werden dann statt in d...
CodeBlocks V1.1                                                   2.3 Incremental Search2.3 Incremental SearchF¨r eine effiz...
CodeBlocks V1.1                                                          2.4 ToDo List     Editor gesucht.     Bewirkt, da...
CodeBlocks V1.1                                               2.5 Source Code Exporter                     Abbildung 2.5: ...
CodeBlocks V1.1                                                      2.6 Thread Searchhtml Ein textbasiertes Format, das i...
CodeBlocks V1.1                                                       2.6 Thread Search2.6.2 Verwendung  1. Konfigurieren S...
CodeBlocks V1.1                                                      2.6 Thread Search                    Abbildung 2.7: K...
CodeBlocks V1.1                                                       2.6 Thread Search     voreingestellte Konfiguration f...
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Codeblocks manual de_2012
Upcoming SlideShare
Loading in...5
×

Codeblocks manual de_2012

4,245

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
4,245
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Codeblocks manual de_2012"

  1. 1. CodeBlocksManualVersion 1.1Thanks to the CodeBlocks team:Anders F. Bj¨rklund (afb), Biplab Kumar Modak (biplab), Bartomiej wiecki (byo), Paul oA. Jimenez (ceniza), Koa Chong Gee (cyberkoa), Daniel Orb (daniel2000), Lieven de Cock(killerbot), Yiannis Mandravellos (mandrav), Mispunt (mispunt), Martin Halle (morten-macfly), 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 termsof the GNU Free Documentation License, Version 1.2 or any later version published bythe Free Software Foundation.
  2. 2. 1 CodeBlocks ProjektverwaltungDie Dokumentation f¨r Kapitel 3 auf Seite 55 und ?? auf Seite ?? sind offizielle Doku- umentationen der CodeBlocks Wiki-Seite und nur in englischer Sprache verf¨gbar. uDie nachfolgende Abbildung zeigt den Aufbau der CodeBlocks Oberfl¨che. a Abbildung 1.1: IDE CodeBlocksManagement Diese Fenster enth¨lt die Ansicht ’Projects’ , im nachfolgenden als Projek- a tansicht bezeichnet. In dieser werden die in CodeBlocks aktuell ge¨ffneten Projekte o angezeigt. In dem Management Fenster erh¨lt 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 ge¨ffnet. oOpen files list Zeigt die Liste der im Editor ge¨ffneten Dateien an, hier hello.c. oCodeSnippets L¨sst sich uber das Men¨ ’View’ →’CodeSnippets’ anzeigen. Hier k¨nnen a ¨ u o Textbausteine, Verkn¨pfungen auf Dateien und Urls verwaltet werden. uLogs & others Fenster zur Ausgabe von Suchergebnisse, Logmeldung eines Compilers etc.
  3. 3. CodeBlocks V1.1 1.1 Projektansicht ¨Die Statusbar gibt einen Uberblick der folgenden Einstellungen: • Vollst¨ndiger Pfad einer im Editor angezeigten Datei. a • Im Editor wird das vom Betriebssystem standardm¨ßig verwendete Character En- a coding ubernommen und mit der Einstellung default angezeigt. ¨ • Aktuelle Zeilen- und Spaltnummer der Cursorposition im Editor. ¨ • Uber die Tastatur eingestellte Modus f¨r das Einf¨gen von Text (Insert oder Over- u u write). • Aktuelle Status einer Datei. F¨r eine ge¨nderte Datei steht der Eintrag auf Modified u a ansonsten ist dieser Eintrag leer. • Die f¨r eine Datei eingestellte Berechtigung. Eine schreibgesch¨tzte Datei wird als u u Read only in der Statusbar gekennzeichnet. Im Fenster ’Open files 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 be- wirkt das die Datei nur innerhalb CodeBlocks schreibgesch¨tzt ist, u jedoch bleibt die Lese- und Schreibberechtigung auf der Festplatte unver¨ndert. a • Falls CodeBlocks mit der Kommandozeilenoption --personality=<profile> ge- startet wird, steht in der Statusbar das aktuell verwendete Profil, ansonsten wird hier default angezeigt. Die Einstellungen von CodeBlocks werden in der gleichnami- gen Konfigurationsdatei <personality>.conf gespeichert.CodeBlocks bietet eine sehr flexible und umfassende Projektverwaltung. Der folgende Textgeht nur auf einige Besonderheiten der Projektverwaltung ein.1.1 ProjektansichtIn CodeBlocks werden Quellen und die Einstellungen f¨r den Builtprozess in einer Projekt- udatei <name>.cbp gespeichert. Ein Projekt besteht typischerweise aus C/C++ Quellenund zugeh¨rige Header Dateien. Ein neues Projekt legen Sie am einfachsten an, indem Sie odas Men¨ ’File’ →’Project’ ausf¨hren und einen Wizard ausw¨hlen. Anschließend k¨nnen u u a oSie im Management Fenster uber das Kontextmen¨ ’Add files’ Dateien zum Projekt hin- ¨ uzuf¨gen. In CodeBlocks werden die Projektdateien abh¨ngig von ihrer Dateiendung in u aKategorien verwalten. Die voreingestellen Kategorien sind f¨r uSources 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
  4. 4. CodeBlocks V1.1 1.2 Notizen f¨r Projekte uResources Unter der Kategorie Resources werden z.B. Dateien *.res;*.xrc; f¨r die u Beschreibung von Layout von wxWidgets Fenster gelistet. F¨r die Anzeigen dieser u Dateitypen dient im Manangement Fenster der Reiter ’Resources’.Die Einstellungen f¨r Typen und Kategorien von Dateien k¨nnen uber das Kontext- u o ¨men¨ ’Project tree’ →’Edit file types & categories’ angepasst werden. Dabei k¨nnen u oauch eigene Kategorien f¨r Dateiendungen angelegt werden. Wenn Sie z.B. Linkerskripte umit der Endung *.ld unter der Kategorie Linkerscript anzeigen m¨chten, legen Sie oeinfach eine neue Kategorie an. Hinweis: Wenn Sie im Kontextmen¨ ’Project tree’ →’Categorize by file types’ u deaktivieren, wird die Anzeige in Kategorien aufgehoben und die Da- teien erscheinen wie sie im Dateisystem abgelegt sind.1.2 Notizen fur Projekte ¨In CodeBlocks k¨nnen zu Projekten sogenannte Notes hinterlegt werden. Diese sollten oeine Kurzbeschreibung oder Hinweise f¨r das jeweilige Projekt enthalten. Durch Anzeige u ¨dieser Information beim Offnen des Projektes bekommen andere Bearbeiter einen schnel- ¨len Uberblick. Die Anzeige von Notes kann bei den Properties eines Projektes im ReiterNotes aktiviert bzw. deaktiviert werden.1.3 ProjektvorlagenCodeBlocks wird mit einer Vielzahl von Projektvorlagen ausgeliefert, die beim Anlegeneines neuen Projektes angezeigt werden. Es ist aber auch m¨glich, eigene Vorlagen zu spei- ochern und somit eigene Vorgaben f¨r Compilerschalter, wie zu verwendete Optimierung, umaschinenspezifische Schalter etc. in Vorlagen zusammenzufassen. Diese werden im Ver-zeichnis Dokumente und Einstellungen<user>AnwendungsdatencodeblocksUserTemplatesabgelegt. Wenn die Vorlagen f¨r alle Benutzer zug¨nglich sein sollen, m¨ssen die Vorla- u a ugen in zugeh¨riges Verzeichnis der CodeBlocks Installation kopiert werden. Diese Vorlagen oerscheinen dann beim n¨chsten Start von CodeBlocks unter ’New’ →’ Project’ →’User atemplates’ . Hinweis: Die verf¨gbaren Vorlagen im Project Wizard k¨nnen 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 durchunterschiedliche Compileroptionen, Debug-Information und Auswahl von Dateien. EinBuild Target kann auch in ein eigenst¨ndiges Projekt ausgelagert werden, daf¨r selektieren a uSie in ’Project’ →’Properties’ den Reiter ’Build Targets’ die Variante und w¨hlen Sie aSchaltfl¨che ’Create project from target’ (siehe Abbildung 1.2 auf Seite 4). aCodeblocks 3
  5. 5. CodeBlocks V1.1 1.5 Virtual Targets Abbildung 1.2: Build Targets1.5 Virtual TargetsMit sogenannten Virtual Targets k¨nnen Projekte in CodeBlocks weiter strukturiert wer- oden. Eine h¨ufige Projektstruktur besteht aus zwei Build Targets. Einem Target ’Debug’ amit Debuginformation und einem anderen Target ’Release’ ohne diese Information. DurchHinzuf¨gen von Virtual Targets unter ’Project’ →’Properties’ →’Build Targets’ k¨nnen u oeinzelne Build Targets zusammengefasst werden. So kann zum Beispiel ein Virtual Target’All’ die Targets Debug und Release gleichzeitig erzeugen. Die Virtual Targets werdenauch in der Symbolleiste des Compilers unter Build Targets angezeigt.1.6 Pre- und Postbuild SchritteCodeBlocks erm¨glicht es, weitere Arbeitschritte vor oder nach der Compilierung eines oProjektes durchzuf¨hren. Die Arbeitsschritte werden als Prebuilt bzw. Postbuilt Step ubezeichnet. Typische Postbuilt Steps sind: • Erzeugung eines Intel Hexformats aus einem fertigen Objekt • Manipulation von Objekten mit objcopy • Generierung von Dumpdateien mit objdumpBeispielErzeugung einer Disassembly aus einem Objekt unter Windows. Die Umlenkung in eineDatei erfordert den Aufruf der cmd mit der Option /c.cmd /c objdump -D name.elf > name.disCodeblocks 4
  6. 6. CodeBlocks V1.1 1.7 Hinzuf¨gen von Scripts in Build Targets uEin weiteres Beispiel f¨r ein Postbuilt Step kann die Archivierung eines Projektes sein. uHierzu erstellen Sie ein Build Target ’Archive’ und tragen im Postbuilt Step folgendeAnweisung einzip -j9 $(PROJECT_NAME)_$(TODAY).zip src h obj $(PROJECT_NAME).cbpMit diesem Befehl wird das aktive Projekt und seine Quellen, Header und Objekte alsZip-Datei gepackt. Dabei werden uber die Built-in Variablen $(PROJECT_NAME) und ¨$(TODAY), der Projektname und das aktuelle Datum extrahiert (siehe Abschnitt 3.2 aufSeite 56). Im Verzeichnis des Projektes liegt dann nach Ausf¨hren des Targets ’Archive’ udie gepackte Datei.In dem Verzeichnis share/codeblocks/scripts finden Sie einige Beispiele f¨r Skripte. uEin Skript kann uber das Men¨ ’Settings’ →’Scripting’ hinzugef¨gt und in ein Men¨ ein- ¨ u u ugetragen werden. Wenn Sie ein Skript z.B. make dist uber ein Men¨ ausf¨hren, werden ¨ u ualle Dateien, die zum einem aktiven Projekt geh¨ren in ein Archiv <project>.tar.gz okomprimiert.1.7 Hinzufugen von Scripts in Build Targets ¨CodeBlocks bieten die M¨glichkeit, Aktionen die vom Benutzer in Men¨s ausgef¨hrt wer- o u uden, auch in Skripten zu verwenden. Mit dem Skript entsteht somit ein zus¨tzlicher Frei- aheitsgrad 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 k¨nnen Sie mehrere Projekte ge¨ffnet halten. Durch speichern der ge¨ffne- o o oten Projekte uber ’File’ →’Save workspace’ werden diese in einem Arbeitsbereich unter ¨<name>.workspace zusammengefasst. Wenn Sie beim n¨chsten Start von CodeBlocks aden Arbeitsbereich <name>.workspace ¨ffnen erscheinen wieder alle Projekte. oKomplexe Softwaresysteme bestehen aus Komponenten, die in unterschiedlichen Code-Blocks Projekten verwaltet werden. Des weiteren existieren bei der Generierung von sol-chen Softwaresystemen oftmals Abh¨ngigkeiten zwischen diesen Projekten. aBeispielEin Projekt A enth¨lt zentrale Funktionen, die auch anderen Projekten in Form einer aBibliothek zug¨nglich gemacht werden. Wenn nun diese Quellen eines Projektes ge¨ndert a awerden, muss die Bibliothek neu erzeugt werden. Damit die Konsistenz zwischen einemProjekt B, das die Funktionen verwendet und dem Projekt A, das die Funktionen imple-mentiert, gewahrt bleibt, muss Projekt B von Projekt A abh¨ngen. Die Information f¨r a udie Abh¨ngigkeit von Projekten wird im jeweiligen Workspace gespeichert, damit jedes aProjekt weiterhin einzeln erzeugt werden kann. Durch die Verwendung von Abh¨ngigkei- aten kann auch die Reihenfolge bei der Generierung von Projekten gesteuert werden. DieAbh¨ngigkeiten f¨r Projekte werden uber den Men¨eintrag ’Project’ →’Properties’ und a u ¨ uAuswahl der Schaltfl¨che ’Project’s dependencies’ gesetzt. aCodeblocks 5
  7. 7. CodeBlocks V1.1 1.9 Einbinden von Assembler Dateien1.9 Einbinden von Assembler DateienIn der Projektansicht (Project View) im Fenter Management werden Assembler Dateienim Kategorie ASM Sources aufgef¨hrt. Die Anzeige von Dateien und Kategorien kann vom uBenutzer festgelegt werden (siehe Abschnitt 1.1 auf Seite 2). Durch einen Rechtsklick einerder gelisteten Assembler Dateien erh¨lt man ein Kontextmen¨. Darin ¨ffnet der Befehl a u o’Properties’ ein neues Fenster. Klicken Sie darin auf den Reiter ’Build’ und aktivieren Siedie beiden Felder ’Compile file’ und ’Link file’. Wechseln Sie nun auf den Reiter ’Advanced’und f¨hren Sie folgende Schritte durch: u 1. ’Compiler variable’ auf CC setzen 2. Den Compiler unter ’For this compiler’ ausw¨hlen a 3. ’Use custom command to build this file’ anw¨hlen a 4. Inhalt im Fenster eingeben: $compiler $options $includes <asopts> -c $file -o $objectDabei sind die CodeBlocks Variablen durch $ gekennzeichnet (siehe Abschnitt 3.4 aufSeite 60). Diese werden automatisch ersetzt, so dass Sie lediglich die Assembleroption<asopt> durch Ihre Einstellungen ersetzen brauchen.1.10 Editor und Hilfsmittel1.10.1 Default CodeDurch vorgegebene Coding Rules im Unternehmen m¨ssen Quelldateien einen einheit- ulichen Aufbau vorweisen. CodeBlocks bietet die M¨glichkeit, beim Anlegen von neuen oC/C++ Quellen und Header einen vorgegebenen Inhalt am Anfang einer Datei automati-siert einzuf¨gen. Die vorgebene Inhalt wird als Default Code bezeichnet. Die Einstellung uhierf¨r kann unter ’Stettings’ →’Editor’ Default Code vorgenommen werden. Wenn eine uneue Datei angelegt wird, dann wird eine Makroaufl¨sung von Variablen, die zum Beispiel ouber das Men¨ ’Settings’ →’Global variables’ definiert wurden, durchgef¨hrt. Eine neue¨ u uDatei erzeugen Sie uber das Men¨ ’File’ →’New’ →’File’ . ¨ uBeispiel/************************************************************************* * Project: $(project) * Function: ************************************************************************* * $Author: mario $ * $Name: $ ************************************************************************* * * Copyright 2007 by company name * ************************************************************************/Codeblocks 6
  8. 8. CodeBlocks V1.1 1.10 Editor und Hilfsmittel1.10.2 AbbreviationDurch Definition von Abk¨rzung in CodeBlocks kann einiges an Schreibarbeit und Zeit ugespart werden. Hierzu werden in ’Settings’ →’Editor’ sogenannte Abbreviations unterdem Namen <name> angelegt, die uber das Tastenk¨rzel Ctrl-J aufgerufen werden (siehe ¨ uAbbildung 1.3 auf Seite 7). Abbildung 1.3: Definition von Abk¨rzungen uDurch Einf¨gen von Variablen $(NAME) in den Abk¨rzungen ist auch eine Parametrisie- u urung m¨glich. o#ifndef $(Guard token)#define $(Guard token)#endif // $(Guard token)Bei Aufruf der Abk¨rzung <name> im Quelltext und Ausf¨hren von Ctrl-J, wird der u uInhalt der Variablen abgefragt und eingef¨gt. u1.10.3 PersonalitiesCodeBlocks Einstellungen werden als Anwendungsdaten im Verzeichnis codeblocks ineiner Datei <user>.conf gespeichert. Diese Konfigurationsdatei enth¨lt Informationen awie beispielsweise zuletzt ge¨ffnete Projekte, Einstellungen f¨r Editor, Anzeige von Sym- o ubolleisten etc. Standardm¨ßig ist die Personality ’default’ eingestellt, so dass die Konfi- aguration in der Datei default.conf abgelegt ist. Wenn CodeBlocks mit dem Parameter--personality=myuser in der Kommandozeile aufgerufen wird, werden die EinstellungenCodeblocks 7
  9. 9. CodeBlocks V1.1 1.10 Editor und Hilfsmittelin der Datei myuser.conf gespeichert. Falls das Profil nicht bereits existiert, wird es auto-matisch angelegt. Durch diese Vorgehensweise k¨nnen f¨r unterschiedliche durchzuf¨hren- o u ude Arbeitsschritte auch zugeh¨rige Profile gespeichert werden. Wenn Sie CodeBlocks mit odem zus¨tzlichen Parameter --personality=ask starten erscheint ein Auswahldialog f¨r a udie verf¨gbaren Profile. u Hinweis: Der Name des aktuell verwendeten Profils/Personality wird rechts in der Statusbar angezeigt.1.10.4 KonfigurationsdateienDie Einstellungen f¨r CodeBlocks werden im Profil default.conf im Ordner codeblocks uin Ihren Anwendungsdaten gespeichert. Bei Verwendung von personalities (siehe Unter-abschnitt 1.10.3 auf Seite 7 werden die Konfiguration in der Datei <personality>.confabgelegt.Mit dem Werkzeug cb share conf, aus dem CodeBlocks Installationsverzeichnis, k¨nnen odiese Einstellungen verwaltet und gesichert werden.Falls Sie Standardeinstellung f¨r mehrere Benutzer eines PCs vorgeben m¨chten, muss die u oKonfigurationsdatei default.conf im Ordner Dokumente und EinstellungenDefaultUserAnwendungsdatencodeblocks abgelegt sein. Beim ersten Start von CodeBlockswerden die Voreinstellungen aus ’Default User’ in die Anwendungsdaten der aktuellenBenutzers kopiert.Zur Erzeugung einer portablen Version von CodeBlocks auf einem USB-Stick gehen Siewie folgt vor. Kopieren Sie die CodeBlocks Installation auf einen USB-Stick und legenSie die Konfigurationsdatei default.conf in dieses Verzeichnis. Die Konfiguration wirdals globale Einstellung verwendet. Bitte achten Sie darauf, dass die Datei schreibbar sein ¨muss, damit Anderungen in der Konfiguration auch gespeichert werden k¨nnen.o1.10.5 Navigieren und SuchenIn CodeBlocks existieren unterschiedliche M¨glichkeiten zum schnellen Navigieren zwi- oschen Dateien und Funktionen. Eine typische Vorgehensweise ist das Setzen von Lesezei-chen (Bookmarks). Durch Bet¨tigen des Tastenk¨rzel (Ctrl-B) wird ein Lesezeichen in a ueiner Quelldatei gesetzt bzw. gel¨scht. Mit (Alt-PgUp) wird zum vorherigen Lesezeichen ogesprungen und mit (Alt-PgDn) zum n¨chsten gewechselt. aIn der Projektansicht k¨nnen Sie durch Ausw¨hlen eines Projektes oder im gesamten o aWorkspace uber das Kontextmen¨ ’Find file’ in einem Dialog einen Dateinamen angeben. ¨ uDieser wird anschließend in der Projektansicht markiert und durch Eingabe mit Returnim Editor ge¨ffnet (siehe Abbildung 1.4 auf Seite 9). oF¨r das schnelle Navigieren zwischen Header/Quelle Dateien bietet CodeBlocks folgende uM¨glichkeiten o 1. Cursor auf Zeile setzen wo Header includiert wird und uber Kontextmen¨ ’open ¨ u include file’ offnen (siehe Abbildung 1.5 auf Seite 9) ¨Codeblocks 8
  10. 10. 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 Begriffes z.B. eines Defines in einer Datei und Aufruf des Kontext- men¨ ’Find declaration’ u ¨ Abbildung 1.5: Offnen einer Header DateiCodeBlocks bietet verschiedene M¨glichkeiten f¨r die Suche in einer Datei oder in Ver- o uzeichnissen. Mit dem ’Search’ →’Find’ (Ctrl-F) oder ’Find in Files’ (Ctrl-Shift-F) ¨ffnet osich der Dialog f¨r die Suche. uEine weitere komfortable Funktion bietet das Tastenk¨rzel Alt-G und Ctrl-Alt-G. Der sich uo¨ffnende Dialog erlaubt die Auswahl von Dateien/Funktionen und springt anschließendan die Implementierung der Funktion (siehe Abbildung 1.6 auf Seite 10) bzw. ¨ffnete die oausgew¨hlte Datei. Als Eingabe werden auf Wildcards ∗ oder ? etc. f¨r eine inkrementelle a uSuche unterst¨tzt. u Hinweis: Mit dem Tastenk¨rzel Ctrl-PAGEUP springen Sie an die vorherige u Funktion und mit Ctrl-PAGEDOWN zur n¨chsten Funktion. aWenn Sie sich im Editor Fenster befinden, ¨ffnet sich mit Ctrl-Tab ein zus¨tzliches Open o aFiles Dialog und es kann zwischen den Eintr¨gen der zu ¨ffnenden Dateien gewechselt a owerden. Bei gedr¨ckter Ctrl-Taste kann eine Auswahl auf unterschiedliche Weise erfolgen: uCodeblocks 9
  11. 11. CodeBlocks V1.1 1.10 Editor und Hilfsmittel Abbildung 1.6: Suche nach Funktionen 1. Mit der linken Maustaste einen Eintrag anklicken und es ¨ffnet sich die Datei. o 2. Bet¨tigen der Tab-Taste wechselt zwischen den Eintr¨gen. Durch Loslassen der Ctrl- a a Taste wird die ausgew¨hlte Datei ge¨ffnet. a o 3. Wenn die Maus uber die Eintr¨ge bewegt werden, dann erscheint die aktuelle Aus- ¨ a wahl farblich hervorgehoben. Beim Loslassen wird die ausgew¨hlte Datei ge¨ffnet. a o 4. Wenn der Mauszeiger außerhalb der farblich Hervorhebung steht, dann kann uber ¨ das Mausrad eine Auswahl getroffen werden. Beim Loslassen der Crtl-Taste wird die ausgew¨hlte Datei ge¨ffnet. a oEine h¨ufige Arbeitsweise bei der Entwicklung von Software ist jedoch, dass man sich adurch 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 derReihenfolge wie Dateien selektiert wurden. Somit k¨nnen Sie komfortabel zwischen den oAufrufen navigieren (siehe Abschnitt 2.8 auf Seite 40).In CodeBlocks aktivieren Sie die Anzeige von Zeilennummern in ’Settings’ →’GeneralSettings’ im Feld ’Show line numbers’. Mit dem Tastenk¨rzel Ctrl-G oder uber das u ¨Men¨ ’Search’ →’Goto line’ springen Sie an die gew¨nschte Zeile. u u Hinweis: Sie k¨nnen auch im Editor einen Begriff mit gedr¨ckter Ctrl Taste o u markieren und dann uber das Kontextmen¨ nach diesem Begriff z.B. ¨ u in Goolge suchen.1.10.6 SymbolansichtF¨r das Navigieren uber Funktionen oder Variablen bietet das Management Fenster in u ¨CodeBlocks eine Baumansicht f¨r Symbole von C/C++ Quellen. Dabei l¨sst sicht der u aG¨ltigkeitsbereich (Scope) der Ansicht auf die aktuelle Datei oder Projekt oder den ge- usamten Arbeitsbereich einstellen.Codeblocks 10
  12. 12. CodeBlocks V1.1 1.10 Editor und Hilfsmittel Hinweis: Wenn Sie einen Suchbegriff bzw. Symbolnamen in die Eingabemaske Search des Symbol Browsers eingeben, erhalten Sie, bei vorhandenen Suchtreffern, eine gefilterte Ansicht von Symbolen.F¨r die Kategorien der Symbole existieren folgende Kategorien. uGlobal functions Listet die Implementierung von globalen Funktionen.Global typedefs Listet die Verwendung von typedef Definitionen.Global variables Zeigt die Symbole von globalen Variablen an.Preprocessor symbols Auflistung der mit #define erzeugten Pr¨prozessor Direktiven. aGlobal macros Listet Makros von Pr¨prozessor Direktiven auf. a Abbildung 1.7: SymbolansichtStrukturen und Klassen werden unterhalb im ’bottom tree’ angezeigt und die Sortierungkann uber das Kontextmen¨ ge¨ndert werden. Wenn eine Kategorie mit der Maus an- ¨ u agew¨hlt wird, erscheinen die gefundenen Symbole in dem unteren Teil des Fensters (siehe aCodeblocks 11
  13. 13. CodeBlocks V1.1 1.10 Editor und HilfsmittelAbbildung 1.7 auf Seite 11). Ein Doppelklick auf das Symbol ¨ffnet die Datei, wo das oSymbol definiert bzw. die Funktion implementiert ist und springt an die zugeh¨rige Zeile. oDie Symbolansicht wird beim Speichern einer Datei aktualisiert. Eine Auto-Refresh desSymbolbrowsers ohne Speichern ist uber das Men¨ ’Settings’ →’Editor’ →’Code Comple- ¨ ution’ aktivierbar (siehe Abbildung 1.8 auf Seite 12). Bei Projekten mit vielen Symbolenwird die Performance innerhalb CodeBlocks beeintr¨chtgt. a Abbildung 1.8: Aktivieren von Echtzeit-Parsing Hinweis: Im Editor k¨nnen Sie uber das Kontextmen¨ ’Insert Class method o ¨ u declaration implementation’ bzw. ’All class methods without imple- mentation’ sich auch die Liste der Klassen anzeigen lassen.1.10.7 Einbinden von externen HilfenDie Entwicklungsumgebung CodeBlocks unterst¨tzt das Einbinden von externen Hilfen uuber das Men¨ ’Settings’ →’Environment’ . F¨gen Sie ein Manual Ihrer Wahl im chm¨ u uFormat in ’Help Files’ hinzu und w¨hlen Sie die Einstellung ’this is the default help file’ a(siehe Abbildung 1.9 auf Seite 13). Dabei steht im Eintrag $(keyword) als Platzhalter f¨r ueinen Begriff der im Editor markiert wird. Nun k¨nnen Sie in CodeBlocks in einer ge¨ffne- o oten Quelldatei eine Funktion mit der Maus durch Doppelklick markieren und anschließenddie Hilfe mit F1 aufrufen und erhalten die zugeh¨rige Dokumentation. oWenn Sie mehrere Hilfedateien einbinden, k¨nnen Sie im Editor einen Begriff markieren ound anschließend uber das Kontextmen¨ ’Locate in’ die Hilfedatei ausw¨hlen, in der ¨ u aCodeBlocks suchen soll.In CodeBlocks werden auch die Hilfe mit man pages unterst¨tzt. Hier f¨gen Sie einen u uneuen Eintrag ’man’ ein und geben den Pfad wie folgt an.man:/usr/share/manCodeBlocks bietet auch einen ’Embedded HTML Viewer’, hiermit k¨nnen einfache HTML- oDateien in CodeBlocks angezeigt und f¨r Suchen genutzt werden. Konfigurieren Sie ein- ufach den Pfad der HTML-Datei, die durchsucht werden soll und aktivieren Sie die Option’Open this file with embedded help viewer’ in dem Men¨ ’Settings’ →’Environment’ u→’Help Files’ .Codeblocks 12
  14. 14. CodeBlocks V1.1 1.10 Editor und Hilfsmittel Abbildung 1.9: Einstellungen f¨r Hilfe u Abbildung 1.10: Embedded HTML Viewer Hinweis: Wenn Sie eine HTML-Datei im File Explorer mit einem Doppelklick offnen (siehe Abschnitt 2.7 auf Seite 36) dann wird der Embedded ¨ Html Viewer gestartet, solange f¨r HTML Dateien keine andere Zu- u ordnung im file extension handler vorgenommen wurde.Codeblocks 13
  15. 15. CodeBlocks V1.1 1.11 Tips zum Arbeiten mit CodeBlocks1.10.8 Einbinden von externen WerkzeugenDie Einbindung von externen Tools ist in CodeBlocks unter dem Men¨eintrag ’Tools’ u ¨→’Configure Tools’ →’Add’ vorgesehen. F¨r die Ubergabeparameter der Tools kann auch uauf Built-in Variables (see Abschnitt 3.2 auf Seite 56) zugegriffen werden. Des weiterenexistieren f¨r das Starten von externen Anwendungen unterschiedliche Arten (Launching uoptions). Je nach Option werden die extern gestarteten Anwendung beim Beenden vonCodeBlocks gestoppt. Falls die Anwendungen auch beim Beenden von CodeBlocks ge¨ffnet obleiben sollen, ist die Option ’Launch tool visible detached’ einzustellen.1.11 Tips zum Arbeiten mit CodeBlocksIn diesem Kapitel werden Ihnen einige n¨tzliche Einstellungen in CodeBlocks vorgestellt. u ¨1.11.1 Anderungen im Editor verfolgenCodeBlocks bietet die M¨glichkeit ge¨nderte Stellen eines Quellcodes im Vergleich zu ei- o aner Vorversion mit Hilfe von seitlich angebrachten Revisionsbalken automatisch sichtbar ¨zu machen. Dabei werden Anderungen mit einem gelben Balken und gespeicherte Ande- ¨rungen mit einem gr¨nen Balken dargestellt (siehe Abbildung 1.11 auf Seite 14). Das u ¨Navigieren zwischen den einzelnen Anderungen ist uber das Men¨ ’Search’ →’Goto next ¨ uchanged line’ oder ’Search’ →’Goto previous changed line’ m¨glich. Standardm¨ßig sind o ahierf¨r die Tastenk¨rzel Ctrl-F3 und Ctrl-Shift-F3 konfiguriert. u u ¨ Abbildung 1.11: Verfolgen von AnderungenDiese Feature kann unter ’Settings’ →’Editor’ →’Margins and caret’ mit der Checkbox’Use Changebar’ aktiviert bzw. deaktiviert werden. Hinweis: ¨ Wenn eine ge¨nderte Datei geschlossen wird, geht die Anderungsin- a ¨ formation f¨r Undo/Redo und die Revisionsbalken verloren. Uber das u Men¨ ’Edit’ →’Clear changes history’ oder das zugeh¨rige Kontext- u o u o ¨ men¨ kann auch bei ge¨ffneter Datei die Anderungshistorie gel¨scht o werden.1.11.2 Datenaustausch mit anderen AnwendungenZwischen CodeBlocks und anderen Anwendungen k¨nnen Daten dynamisch ausgetauscht owerden. Diese Interprozess Kommuikation wird unter Windows auf DDE (Dynamic DataCodeblocks 14
  16. 16. CodeBlocks V1.1 1.11 Tips zum Arbeiten mit CodeBlocksExchange) und unter anderen Betriebssystemen auf eine TCP Kommunikation zwischenden Anwendungen abgebildet.¨Uber diese Schnittstelle k¨nnen an CodeBlocks Kommandos mit der folgenden Syntax oweitergegeben werden.[<command>("<parameter>")]Als Kommandos stehen zur Verf¨gung: uOpen Mit dem folgenden Kommando [Open("d:temptest.txt")] wird der Parameter, hier die Datei mit absolutem Pfad, innerhalb ei- ner CodeBlocks Instanz ge¨ffnet oder bei Bedarf eine erste Instanz o gestartet.OpenLine Das Kommando ¨ffnet eine Datei mit spezifizierter Zeilennummer in o einer CodeBlocks Instanz. Diese Zeilennummer wird mit : line angege- ben. [OpenLine("d:temptest.txt:10")]Raise Setzt den Fokus auf die CodeBlocks Instanz. Hier darf kein Parameter angegeben werden.1.11.3 Konfiguration von UmgebungsvariablenDie Konfiguration f¨r ein Betriebssystem wird durch sogenannte Umgebungsvariablen ufestgelegt. Zum Beispiel enth¨lt die Umgebungsvariablen PATH den Pfad auf einen in- astallierten Compiler. Das Betriebssystem geht diese Umgebungsvariable von vorne nachhinten durch, d.h. die Eintr¨ge am Ende werden als letztes durchsucht. Wenn nun unter- aschiedliche Versionen eines Compilers oder anderer Anwendungen installiert sind, k¨nnen onun folgende Situationen auftreten: • Die falsche Version einer Software wird aufgrufen • Installierte Softwarepakete st¨ren sich gegenseitig oEs k¨nnte zum Beispiel notwendig sein, dass f¨r unterschiedliche Projekte unterschiedliche o uVersionen eines Compilers oder anderer Werkzeugen vorgeschrieben sind. Eine M¨glich- okeit ist die Umgebungsvariablen in der Systemsteuerung jeweils f¨r ein Projekt zu ¨ndern. u aDiese Vorgehensweise ist jedoch fehleranf¨llig und nicht flexibel. F¨r diese Anforderung a ubietet CodeBlocks eine elegante L¨sung. Es lassen sich hier unterschiedliche Konfiguratio- onen von Umgebungsvariablen erstellen, die nur intern in CodeBlocks verwendet werden.Zus¨tzlich kann zwischen diesen Konfiguration umgeschaltet werden. Die Abbildung 1.12 aauf Seite 16 zeigt den Eingabedialog, den Sie uber das Men¨ ’Settings’ →’Environment’ ¨ uund Auswahl von ’Environment Varibales’ erhalten. Eine Konfiguration wird uber die¨ a ¨Schaltfl¨che ’Create’ erzeugt. Die Ubernahme der hinzugef¨gten Umgebungsvariablen er- ufolgt durch Best¨tigen des OK Knopfes. Das Aktivieren einer Konfiguration erfolgt uber a ¨den Knopf Set Now.Codeblocks 15
  17. 17. CodeBlocks V1.1 1.11 Tips zum Arbeiten mit CodeBlocks Abbildung 1.12: UmgebungsvariablenDer Zugriff und der G¨ltigkeitkeitbereich auf die hier erstellten Umgebungsvariablen ist uauf CodeBlocks begrenzt. Sie k¨nnen diese Umgebungsvariablen wie auch andere Code- oBlocks Variablen uber $(NAME) expandieren. ¨ Hinweis: Eine Konfiguration von Umgebungsvariable l¨sst sich pro Projekt im a Kontextmen¨ ’Properties’ im Reiter ’EnvVars options’ selektieren. uBeispielSie k¨nnen die verwendete Umgebung in einem postbuild Step (siehe Abschnitt 1.6 auf oSeite 4) in einer Datei <project>.env schreiben und zu Ihrem Projekt archivieren.cmd /c echo %PATH% > project.envoder unter Linuxecho $PATH > project.env1.11.4 Umschalten zwischen PerspektivenAbh¨ngig von der Aufgabenstellung ist es sinnvoll unterschiedliche Konfigurationen oder aAnsichten in CodeBlocks zu haben und diese zu speichern. Standardm¨ßig werden die aEinstellungen wie z.B. Anzeige von Symbolleisten, Layout etc. in der Konfigurationsdateidefault.conf gespeichert. Durch die Verwendung der Kommandozeilenoption --personality=askbeim Start von CodeBlocks kann zwischen verschiedenen Einstellungen umgeschaltet wer-den. Neben dieser globalen Einstellung besteht jedoch h¨ufig auch der Wunsch w¨hrend a aeiner Session zwischen Ansichten f¨r Fenster und Symbolleisten zu wechseln. Zwei typi- usche Szenarien sind z.B. das Editieren von Dateien oder das Debuggen eines Projektes.Codeblocks 16
  18. 18. CodeBlocks V1.1 1.11 Tips zum Arbeiten mit CodeBlocks ¨Damit der Anwender nicht st¨ndig mit dem Offnen und Schließen von Fenstern, Symbol- aleisten etc. besch¨ftigt ist, bietet CodeBlocks einen Mechanismus um unterschiedliche Per- a ¨spektiven zu speichern bzw. diese umzuschalten. Uber das Men¨ ’View’ →’Perspectives’ u→’Save current’ und Eingabe eines Namens <name> wird eine Perspektive gespeichert.¨Uber ’Settings’ →’Editor’ →’Keyboard shortcuts’ →’View’ →’Perspectives’ →’<name>’kann ein Tastenk¨rzel hierf¨r angegeben werden. Durch diese Vorgehensweise k¨nnen Sie u u onun einfach zwischen den Ansichten uber Ihre Tastenk¨rzel wechseln. ¨ u Hinweis: Ein weiteres Anwendungsbeispiel ist das Editieren einer Datei im Full Screen Modus ohne Symbolleisten. Hierf¨r k¨nnen Sie sich auch eine u o Perspektive z.B. ’Full’ anlegen und ein Tastenk¨rzel vergeben. u1.11.5 Umschalten zwischen ProjektenWenn mehrere Projekte oder Dateien gleichzeitig ge¨ffnet sind, so will der Benutzer h¨ufig o azwischen den Projekten und Dateien schnell wechseln k¨nnen. CodeBlocks stellt hierf¨r o ueine Reihe an Shortcuts zur Verf¨gung. uAlt-F5 Aktiviert vorheriges Projekt aus der Projektansicht.Alt-F6 Aktiviert nachfolgendes Projekt aus der Projektansicht.F11 Wechselt im Editor zwischen einer Quelldatei <name>.cpp und der zugeh¨rigen o Header Datei <name>.h1.11.6 Erweitere Einstellung f¨r Compiler uBeim Buildprozess eines Projektes werden die Ausgaben des Compilers in Fenster Mes-sages im Reiter Build Log ausgegeben. Wenn Sie an detaillierten Information interessiertsind, kann die Ausgabe erweitert werden. Dazu w¨hlen Sie unter ’Settings’ →’Compiler aand Debugger’ im Reiter ’Other Settings’.Achten Sie darauf, dass beim Eintrag Selected Compiler der gew¨nschte Compiler ein- ugestellt ist. Die Einstellung ’Full command line’ im Feld Compiler Logging gibt dievollst¨ndige Information im Build Log aus. Zus¨tzlich kann diese Ausgabe in eine HTML- a aDatei geloggt werden. Hierzu ist die Einstellung ’Save build log to HTML file when fi-nished’ erforderlich. Des weiteren bietet CodeBlocks eine Fortschrittsanzeige des Build-prozesses im Fenster Build Log. Diese aktivieren Sie mit dem Einstellung ’Display buildprogress bar’.1.11.7 Zoom im EditorCodeBlocks bietet einen sehr leistungsf¨higen Editor. Eine Besonderheit ist, dass Sie in- anerhalb einer ge¨ffneten Datei die Darstellung vergr¨ßern und verkleinern k¨nnen. Wenn o o oSie eine Maus mit einem Scrollrad haben, halten Sie einfach die Ctrl-Taste gedr¨ckt und uscrollen im Editor uber das Rad nach vorne oder hinten. ¨Codeblocks 17
  19. 19. CodeBlocks V1.1 1.11 Tips zum Arbeiten mit CodeBlocks Abbildung 1.13: Einstellung von Detailinformationen Hinweis: Mit dem Tastenk¨rzel Ctrl-Numepad-/ oder mit ’Edit’ →’Special u commands’ →’Zoom’ →’Reset’ k¨nnen Sie auf die urspr¨ngliche o u Schriftgr¨ße umschalten. o1.11.8 Wrap ModeF¨r das Editieren von Textdateien z.B. *.txt innerhalb CodeBlocks ist es n¨tzlich den u uEingabetext automatisch auf die Textbreite des Editorfensters in mehrere Zeilen umbre-chen zu lassen. Diese Funktionalit¨t wird ’Word wrap’ genannt und diese l¨sst sich im a aMen¨ ’Settings’ →’Editor’ →’Other Options’ und mit der Checkbox ’Word wrap’ aktivie- uren. Durch die Home/Pos 1 Taste springt der Cursor an den Anfang und mit End/Ende andas Ende der umgebrochenen Zeilen. Durch die Einstellung ’Settings’ →’Editor’ →’OtherOptions’ und dem Setzen von ’Home key always move to caret to first column’ wirderreicht, dass die Home/Pos 1 bzw. End/Ende Taste der Cursor an den Zeilenanfangbzw. an das Ende der aktuellen Zeile springt. Falls jedoch ein Sprung des Cursors anden Zeilenanfang des Abschnitts gew¨nscht ist, muss stattdessen die Tastenkombination u’Atl-Home/Pos 1’ gedr¨ckt werden. Entsprechendes gilt f¨r ’Alt-End/Ende’ . u u1.11.9 Select Modes im EditorCodeBlocks unterst¨tzt im Editor verschiedene Modes f¨r Selektion und Einf¨gen von u u uText.Codeblocks 18
  20. 20. 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 gel¨st werden. Nun kann der Benutzer mit dem Mausrad o innerhalb des aktiven Editors scrollen und durch Bet¨tigen der mittleren Maustaste, a wird der ehemals selektierte Text an die aktuelle Cursorposition eingef¨gt. 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 Recht- eck kann mit der linken Maustaste aufgezogen werden und dann kopiert bzw. ein- gef¨gt weden. Dies ist zum Beispiel n¨tzlich, wenn nur einige Spalten eines Array u u markiert und kopiert werden sollen. 3. Im Men¨ ’Settings’ →’Editor’ →’Margins und Caret’ k¨nnen 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 gedr¨ckter Crtl-Taste k¨nnen dann mit der linken Maustaste u o mehrere Textpassagen im Editor selektiert werden. Die Selektionen k¨nnen mit Ctrl- o C bzw. Ctrl-X in der Zwischenablage hintereinander angeh¨ngt und mit Ctrl-V an a die gew¨nschte Stelle eingef¨gt werden. Zudem kann im ’multiple Selection’ Modus u u die Option ’Enable typing (and deleting)’ aktiviert werden. Dies kann z.B. n¨tzlich u sein, wenn Sie an mehreren Stellen eine Pr¨prozessor Direktive wie #ifdef einf¨gen a u wollen oder z.B. ein Text an mehreren Stellen uberschreiben oder ersetzen wollen. ¨ Hinweis: Beachten Sie, dass die meisten Linux Fenstermanager diese Tasten- kombination f¨r das Verschieben von Fenster vordefinieren. Deshalb u muss dieses Verhalten des Fenstermanager ge¨ndert werden, damit a der Block select mode unter Linux funktioniert.1.11.10 Code foldingCodeBlocks unterst¨tzt ein sogenanntes Folding f¨r Quellen. Hiermit lassen sich zum u uBeispiel Funktionen zusammenklappen. Ein Folding Punkt erkennen Sie im Editor alsMinussymbol im linken Seitenrand. Hier wird auch der Beginn und das Ende eines FoldingPunktes durch eine vertikale Linie gekennzeichnet. Wenn Sie mit der linken Maustaste aufdas Minussymbol klicken wir der entsprechende Abschnitt eingekappt bzw. ausgeklappt.Sie k¨nnen uber das Menu ’Edit’ →’Folding’ einstellen wie eingeklappt werden soll. o ¨Im Editor wird ein eingeklappte Codestelle durch eine durchgehende horizontale Liniedargestellt. Hinweis: Der Stil f¨r das Folding und eine Grenze f¨r die Folding-Tiefe kann u u im Men¨ ’Settings’ →’Editor’ →’Folding’ ge¨ndert werden. u aCodeblocks 19
  21. 21. CodeBlocks V1.1 1.11 Tips zum Arbeiten mit CodeBlocksNeben dem Folding f¨r Funktionen kann die Funktionalit¨t auch f¨r Pr¨prozessor Direk- u a u ativen eingestellt werden. Aktivieren Sie hierf¨r die Option ’Fold preprocessor commands’ uim Men¨ ’Settings’ →’Editor’ unter dem Eintrag Folding. uEine weitere M¨glichkeit ist benutzerdefinierte Folding Punkte zu definieren, indem ein oKommentarzeichen durch eine ge¨ffnete Klammer den Anfang und ein Kommentar mit oschließender Klammer das Ende markiert.//{code with user defined folding//} Hinweis: Bei eingeschaltetem Folding passiert es h¨ufig, dass bei engem Sei- a tenrand der Anwender anstatt die gew¨nschte 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 Zeilennum- mern eine oder mehrere Zeile zu markieren.1.11.11 Auto complete ¨CodeBlocks parst beim Offnen eines Projektes die ’Search directories’ die f¨r einen Com- upiler oder Projekt eingestellt wurden und die im Projekt befindlichen Quellen und Header.Des weiteren werden auch die Keywords der zugeh¨rigen Lexerdateien geparst. Die aus odem Parsen gewonne Information uber Symbole kann f¨r die sogenannte Auto completion ¨ ugenutzt werden, wenn diese in den Einstellungen des Editors f¨r CodeBlocks aktiviert ist. uDie Auto completion k¨nnen Sie im Editor uber das Tastenk¨rzel Ctrl-Space ausf¨hren. o ¨ u uIm Men¨ ’Settings’ →’Editor’ →’Syntax highlighting’ k¨nnen eigene keywords zum Lexer u ohinzugef¨gt werden. u1.11.12 Find broken filesWenn eine Datei auf der Festplatte gel¨scht wurde, jedoch in der Projektbeschreibung o<project>.cbp noch enthalten ist, dann wir diese Datei als ’broken file’ mit einemunterbrochenem Symbol in der Project View von CodeBlocks angezeigt. Das Entferneneiner Datei sollte in der Projekt View mit dem Kontextmen¨ ’Remove file from project’ uvorgenommen werden.Bei gr¨ßeren Projekten mit vielen Unterordnern kann die Suchen nach ’broken files’ sehr oschwierig werden. CodeBlocks bietet jedoch mit dem Plugin ThreadSearch (siehe Ab-schnitt 2.6 auf Seite 32) eine einfache L¨sung. Wenn Sie in ThreadSearch einen Suchbegriff oeingeben und als Option ’Project files’ oder ’Workspace files’ w¨hlen, wird ThreadSearch aalle Dateien eines Projektes durchsuchen; falls ein ’broken file’ im Projekt oder Workspacevorkommt, wird als Fehler diese Datei gemeldet.1.11.13 Einbinden von BibliothekenIn den Builtoption eines Projektes k¨nnen Sie unter ’Linker Settings’ im Eintrag ’Link olibraries’ uber die Schaltfl¨che ’Add’ verwendete Bibliotheken hinzuf¨gen. Dabei k¨nnen ¨ a u oCodeblocks 20
  22. 22. CodeBlocks V1.1 1.11 Tips zum Arbeiten mit CodeBlocksSie entweder den absoluten Pfad zur Bibliothek durchsuchen oder nur den Namen ohneden Prefix lib und die Dateiendung angeben.BeispielF¨r eine Bibliothek <path>libslib<name>.a geben Sie einfach <name> an. Der uLinker mit den jeweiligen Suchpfaden f¨r die Bibliotheken bindet diese dann korrekt ein. u Hinweis: Eine weitere M¨glichkeit wie Sie Bibliotheken einbinden k¨nnen, be- o 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 f¨r denuEmbedded Bereiche name.elf. In einigen F¨llen ist es w¨nschenswert die Reihenfolge a uf¨r das Binden von Objekten vorzugeben. In CodeBlocks kann dies durch die Vergabe uvon sogenannten Priorit¨ten erzielt werden. Stellen Sie f¨r eine Datei uber das Kontext- a u ¨men¨ ’Properties’ im Reiter Build die Priorit¨t ein. Dabei f¨hrt eine geringe Priorit¨t u a u ades Objekts dazu, dass es zu erst gebunden wird.1.11.15 AutosaveCodeBlocks bietet die M¨glichkeit Projekte und Quelldateien automatisch zu speichern obzw. eine Sicherungskopie anzulegen. Diese Funktionalit¨t wird im Men¨ ’Settings’ →’Environment’ a u→’Autosave’ eingestellt. Dabei sollte als ’Save to .save file’ als Methode f¨r das Erstellen ueiner Sicherungskopie eingestellt werden.1.11.16 Einstellen f¨r Dateizuordnungen uIn CodeBlocks k¨nnen Sie zwischen verschiedenen Arten der Behandlung von Dateien- odungen w¨hlen. Die Einstellungen erhalten Sie uber ’Settings’ →’Files extension handling’ a ¨. Sie k¨nnen entweder die von Windows zugeordneten Anwendungen (open it with the oassociated application) f¨r entsprechende Dateiendungen verwenden oder f¨r jede Datei- u uendungen die Einstellungen so andern, dass entweder ein benutzerdefiniertes Programm ¨(launch an external program) gestartet wird oder die Datei in Editor von CodeBlocksge¨ffnet wird (open it inside Code::Blocks editor). o Hinweis: Wenn ein benutzerdefiniertes Programm f¨r eine Dateiendung u gew¨hlt wird, sollte die Einstellung ’Disable Code::Blocks while the a ¨ external programm is running’ deaktiviert werden, da sonst beim Off- nen dieser Dateien CodeBlocks beendet wird.Codeblocks 21
  23. 23. CodeBlocks V1.1 1.12 CodeBlocks in der Kommandozeile1.12 CodeBlocks in der KommandozeileDie IDE CodeBlocks kann auch ohne grafische Oberfl¨che in der Kommandozeile aus- agef¨hrt werden. Dabei stehen unterschiedliche Schalter zur Verf¨gung um den Buildpro- u uzess eines Projektes zu steuern. Da CodeBlocks somit skriptf¨hig ist, kann die Erzeugung avon Exectutables in eigene Arbeitsabl¨ufe integriert werden. acodeblocks.exe /na /nd --no-splash-screen --built <name>.cbp --target=’Release’<filename> Specifies the project *.cbp filename or workspace *.workspace filena- me. For instance, <filename> may be project.cbp. Place this argu- ment at the end of the command line, just before the output redirection if there is any.--file=<filename>[:line] Open file in Code::Blocks and optionally jump to a specific line./h, --help Shows a help message regarding the command line arguments./na, --no-check-associations Don’t perform any file association checks (Windows only)./nd, --no-dde Don’t start a DDE server (Windows only)./ni, --no-ipc Don’t 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=<str> Sets the shared data directory prefix./p, --personality=<str>, --profile=<str> 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=<str> 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.> <build log file> Placed in the very last position of the command line, this may be used to redirect standard output to log file. This is not a codeblock option as such, but just a standard DOS/*nix shell output redirection.Codeblocks 22
  24. 24. CodeBlocks V1.1 1.13 Shortcuts1.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 vereinfa-chen und zu beschleunigen. In nachstehender Tabelle sind einige verf¨gbare Tastenkom- ubinationen zusammengefasst.1.13.1 Editor Function Shortcut Key Undo last action Ctrl-Z Redo last action Ctrl-Shift-Z Swap header / source F11 Comment highlighted code Ctrl-Shift-C Uncomment highlighted code Ctrl-Shift-X Auto-complete / Abbreviations Ctrl-Space/Ctrl-J Toggle bookmark Ctrl-B Goto previous bookmark Alt-PgUp Goto next bookmark Alt-PgDownThis is a list of shortcuts provided by the CodeBlocks editor component. These shortcutscannot be rebound. Create or delete a bookmark Ctrl-F2 Go to next bookmark F2 Select to next bookmark Alt-F2 Find selection. Ctrl-F3 Find selection backwards. Ctrl-Shift-F3 Find matching preprocessor conditional, skipping nested ones. Ctrl-K1.13.2 Files Function Shortcut Key New file or project Ctrl-N Open existing file or project Ctrl-O Save current file Ctrl-S Save all files Ctrl-Shift-S Close current file Ctrl-F4/Ctrl-W Close all files Ctrl-Shift-F4/Ctrl-Shift-W1.13.3 View Function Shortcut Key Show / hide Messages pane F2 Show / hide Management pane Shift-F2 Activate prior (in Project tree) Alt-F5 Activate next (in Project tree) Alt-F6Codeblocks 23
  25. 25. CodeBlocks V1.1 1.13 Shortcuts1.13.4 Search Function Shortcut Key Find Ctrl-F Find next F3 Find previous Shift-F3 Find in files Crtl-Shift-F Replace Ctrl-R Replace in files Ctrl-Shift-R Goto line Ctrl-G Goto next changed line Ctrl-F3 Goto previous changed line Ctrl-Shift-F3 Goto file Alt-G Goto function Ctrl-Alt-G Goto previous function Ctrl-PgUp Goto next function Ctrl-PgDn Goto declaration Ctrl-Shift-. Goto implementation Ctrl-. Open include file Ctrl-Alt-.1.13.5 Build Function Shortcut Key Build Ctrl-F9 Compile current file Ctrl-Shift-F9 Run Ctrl-F10 Build and Run F9 Rebuild Ctrl-F11Codeblocks 24
  26. 26. 2 Plugins2.1 AstyleArtistic Style dient dem Einr¨cken, Formatieren und ’Versch¨nern’ f¨r C, C++, C# u o uQuellen. Es kann verwendet werden um unterschiedliche Coding Rules f¨r CodeBlocks ueinzustellen. Abbildung 2.1: Formatierung f¨r Quellcode uWenn Quellen einger¨ckt werden, tendieren Programmierer dazu sowohl Leerzeichen als uauch Tabulatoren einzusetzen, um die gew¨nschte Einr¨ckung zu erzielen. Dar¨berhinaus u u ugibt es auch Editoren die standardm¨ßig Tabulatoren durch eine feste Anzahl von Leer- azeichen ersetzen. Andere Editoren versuchen den Code durch Einf¨gen von White space ulesbarer zu machen selbst wenn der Code Tabulatoren enth¨lt. aDa die Anzeige der Leerzeichen f¨r jeden Tabulator durch die Einstellungen im Editor ubestimmt ist, wirft dies immer ein Problem auf, wenn Programmierer unterschiedlicheEditoren verwenden. Selbst bei gr¨ßter Sorgfalt f¨r die Formatierung der Quelle kann das o uEditieren durch andere Programmieren mit unterschiedlichen Editoren oder Einstellungenschnell Problemen verursachen.Um diesen Problem Rechnung zu tragen, wurde Artistic Style entwickelt - ein Filter, derautomatisch Ihre C / C++ / C# einr¨ckt und formatiert. u
  27. 27. CodeBlocks V1.1 2.2 CodeSnippets Hinweis: Durch Kopieren von Code z.B aus dem Internet oder aus einem Ma- nual wird in CodeBlocks der Code automatisch an die ausgew¨hlten a Coding-Rules angepasst, indem Sie den Text markieren und das Plu- gin uber das Men¨ ’Plugins’ →’Source code formatter’ ausf¨hren. ¨ u u2.2 CodeSnippetsDas Plugin CodeSnippets erm¨glicht es Textbausteine und Verkn¨pfungen auf Dateien in o ueiner Baumansicht nach Kategorien zu strukturieren. Die Bausteine dienen dazu, h¨ufig averwendete Dateien oder Konstrukte in Textbausteine abzulegen und zentral zu verwalten.Stellen Sie sich vor eine Reihe von h¨ufig verwendeten Quelldateien sind im Dateisystem in aunterschiedlichen Ordnern abgelegt. Im Fenster CodeSnippets k¨nnen Sie nun Kategorien ound darunter Verkn¨pfungen auf die gew¨nschten Dateien erstellen. Damit k¨nnen Sie u u oden Zugriff auf die Dateien unabh¨ngig von der Ablage im Dateisystem verwalten und aohne das Dateisystem zu durchsuchen schnell zwischen diesen Dateien navigieren. Hinweis: Sie k¨nnen auch CodeBlocks Variablen oder Umgebungsvaraiblen ver- o wenden, um Links im CodeSnippets Browser zu parametrisieren z.B. $(VARNAME)/name.pdf.Die Liste der Textbausteine und Verkn¨pfungen k¨nnen im CodeSnippets Fenster mit u oder rechten Maustaste uber das Kontextmen¨ ’Save Index’ gespeichert werden. Die dabei ¨ uerzeugte Datei codesnippets.xml befindet sich anschließend in Ihren Dokumente undEinstellungenAnwendungsdaten im Ordner codeblocks. Unter Linux wird diese In-formation im HOME-Verzeichnis im Ordner .codeblocks abgelegt. Die Konfigurations-dateien von CodeBlocks werden beim n¨chsten Start geladen. Falls Sie den Inhalt von aCodeSnippets an einen anderen Ort speichern m¨chten, selektieren Sie den Eintrag ’Save oIndex As’. Zum Laden dieser Datei w¨hlen Sie beim n¨chsten Start von CodeBlocks’Load a aIndex File’ oder stellen das Verzeichnis in dem Kontextmen¨ ’Settings’ unter ’Snippet uFolder’ ein. Diese Einstellungen werden in der zugeh¨rigen Datei codesnippets.ini in oden Anwendungsdaten hinterlegt.Das Einf¨gen einer Kategorie geschieht uber das Men¨ ’Add SubCategory’. In einer Ka- u ¨ utegorie k¨nnen Snippets (Textbausteine) oder File Links (Verkn¨pfungen) liegen. Ein o uTextbaustein wird mit dem Kontextmen¨ uber ’Add Snippet’ angelegt. Indem Sie einen u¨Text im CodeBlocks Editor markieren und anschließend bei gedr¨ckter linker Maustaste uper Drag and Drop auf den Textbaustein ziehen, wird der Inhalt in den Textbausteineingef¨gt. Wenn Sie einen selektierten Text auf eine Kategorie ziehen wird in diesem Ord- uner automatisch ein Textbaustein mit dem Namen ’New snippet’ erzeugt und es ¨ffnet osich der Properties Dialog. Durch einen Doppelklick auf den neu eingef¨gten Eintrag oder udurch Auswahl von ’Edit Text’ ¨ffnet sich ein eigenst¨ndiger Editor zum Bearbeiten des o aInhaltes.Die Ausgabe eines Textbausteines in CodeBlocks erfolgt uber das Kontextmen¨ ’Apply’ ¨ uoder durch Drag und Drop in den Editor. Die Inhalte eines Snippets k¨nnen auch in oCodeblocks 26
  28. 28. CodeBlocks V1.1 2.2 CodeSnippets Abbildung 2.2: Bearbeiten eines Textbausteinsandere Anwendungen gezogen werden. Im CodeSnippets Browser k¨nnen Sie auch per oDrag and Drop einen Eintrag in eine andere Kategorie kopieren.Textbausteine sind dar¨berhinaus auch uber Variablen <name>, die uber $(name) zu- u ¨ ¨gegriffen werden, parametrisierbar (siehe Abbildung 2.2 auf Seite 27). Die Abfrage f¨r udie Werte der Variablen erfolgt uber ein Eingabefeld, wenn der Textbaustein mit dem ¨Kontextmen¨ ’Apply’ aufgerufen wird. uNeben den Textbausteinen k¨nnen auch Verkn¨pfungen auf Dateien angelegt werden. o uWenn Sie zuvor einen Textbaustein angelegt haben und anschließend das Kontextmen¨ ’Pro- uperties’ ausw¨hlen, selektieren Sie mit der Schaltfl¨che ’Link target’ das Ziel der Ver- a akn¨pfung. Eine Verkn¨pfung kann auch uber das Kontextmen¨ ’Convert to FileLink’ er- u u ¨ uzeugt werden. Dieser Schritt wandelt den Textbaustein automatisch in eine Verkn¨pfung uauf eine Datei um. In CodeSnippets werden Textbausteine mit einem T-Symbol undVerkn¨pfungen auf eine Datei mit einen F-Symbol und Urls mit einem U-Symbol gekenn- uzeichnet. Falls Sie die in Codesnippets markierte Datei (Verkn¨pfung) ¨ffnen m¨chten u o oselektieren Sie im Kontextmen¨ ’Open File’ oder halten Sie die ’Alt’ Taste gedr¨ckt und u umachen ein Doppelklick auf die Datei. Hinweis: In Textbausteine k¨nnen 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 ge¨ffnet werden. oFalls Sie diese Einstellung vorgenommen haben, dann wird wenn Sie z.B. einen Ver-kn¨pfung auf eine pdf-Datei aus der Codesnippets Ansicht ¨ffnen automatisch ein pdf- u oViewer gestartet. Dieses Vorgehen erm¨glicht dem Benutzer Dateien, die uber das Netz- o ¨werk verteilt liegen, wie z.B. CAD Daten, Schaltpl¨ne, Dokumentation etc. als Ver- akn¨pfung einfach uber die gewohnten Anwendungen zuzugreifen. Der Inhalt der Co- u ¨desnippets wird in der Datei codesnippets.xml und die Konfiguration in der Dateicodesnippets.ini in Ihren Anwendungsdaten gespeichert. In dieser ini Datei wird z.B.der Ablageort der Datei codesnippets.xml hinterlegt.CodeBlocks unterst¨tzt die Verwendung von unterschiedlichen Profilen. Diese werden als upersonalities bezeichnet. Wenn Sie CodeBlocks mit der Kommandozeilen Option --personality=<profstarten, wird entweder ein neues angelegt oder ein existierendes Profil verwendet. DieCodeblocks 27
  29. 29. CodeBlocks V1.1 2.2 CodeSnippetsEinstellungen werden dann statt in default.conf in der Datei <personality>.conf inden Anwendungsdaten gespeichert. Das Plugin Codesnippets speichert seine Einstellun-gen dann in der Datei <personality>.codesnippets.ini. Wenn nun Sie in den Settingsvon Codesnippets uber ’Load Index File’ einen neuen Inhalt <name.xml> laden, wird dies ¨in der zugeh¨rigen ini Datei hinterlegt. Der Vorteil von dieser Vorgehensweise ist, dass oSie zu unterschiedlichen Profilen auch unterschiedliche Konfigurationen f¨r Textbausteine uund Verkn¨pfungen verwalten k¨nnen. u oF¨r das Navigieren zwischen den Kategorien und Snippets bietet das Plugin eine zus¨tz- u aliche Suchfunktion. Hierbei l¨sst sich auch der G¨ltigkeitsbereich (Scope) f¨r die Suche a u uauf Snippets, Categories oder Snippets and Categories einstellen. Durch Eingabe desgew¨nschten Suchbegriffes wird automatisch der zugeh¨rige Eintrag in der Ansicht aus- u ogew¨hlt. Die Abbildung 2.3 auf Seite 28 zeigt eine typische Ansicht im CodeSnippets aFenster. Abbildung 2.3: Ansicht von CodeSnippets Hinweis: Bei Verwendung von umfangreichen Textbausteine sollte deren In- halt uber ’Convert to File Link’ in Dateien ausgelagert werden, um ¨ die Speicherauslastung im System zu reduzieren. Beim L¨schen von o Textbausteine und Verkn¨pfungen werden diese in den Ordner .trash u verschoben bzw. bei gedr¨ckter Shift-Taste direkt gel¨scht. u oCodeblocks 28
  30. 30. CodeBlocks V1.1 2.3 Incremental Search2.3 Incremental SearchF¨r eine effiziente Suche in ge¨ffneten Dateien bietet CodeBlocks die sogenannte Incre- u o ¨mental Search Methode. Uber das Men¨ ’Search’ →’Incremental Search’ oder das Tas- utenk¨rzel Ctrl-I wird diese Suchmethode f¨r eine ge¨ffnete Datei eingeleitet. Dabei wird u u odann automatisch der Focus auf die Suchmaske der zugeh¨rigen Werkzeugleiste gesetzt. oWenn Sie mit der Eingabe eines Begriffes beginnen, wird abh¨ngig von dem Vorkommen ader Hintergrund der Suchmaske hinterlegt. Sobald ein Treffer im aktiven Editor gefundenwird, erscheint diese Stelle farblich markiert. Standardm¨ßig wird der aktuelle Treffer agr¨n hervorgehoben. Die Einstellungen hierf¨r k¨nnen im Men¨ ’Settings’ →’ Editor’ →’ u u o uIncremental Search’ ge¨ndert werden (siehe ?? auf Seite ??). Durch Bet¨tigen der Re- a aturn Taste wird zum n¨chsten Vorkommen des Suchbegriffes gesprungen. Mit Shift-Return akann zum vorherigen Vorkommen navigiert werden. Diese Funktionalit¨t wird jedoch bei aSuchen mit regul¨ren Ausdr¨cken in Scintilla nicht unterst¨tzt. a u uWird der Suchbegriff in der aktiven Datei jedoch nicht gefunden, wird dies durch rotesHinterlegen der Suchmaske signalisiert.ESC Verl¨sst den Incremental Search Modus. aALT-DELETE L¨scht den Inhalt f¨r die Eingabe von Incremental Search. o uDie Icons in der Werkzeugleiste von Incremental Search sind wie folgt zu verstehen: L¨schen des Textes innerhalb der Suchmaske der Incremental Search Werkzeugleiste. o , Navigation zwischen den Vorkommen eines Suchbegriffes. Dieser Knopf bewirkt, dass nicht nur der aktuelle gefundene Suchbegriff im Editor sondern auch weitere Vorkommnisse farblich hervorgehoben werden. Mit der Aktivierung dieser Option wird nur innerhalb eines selektierten Textes imCodeblocks 29
  31. 31. CodeBlocks V1.1 2.4 ToDo List Editor gesucht. Bewirkt, dass die Suche von Groß-/Kleinschreibung abh¨ngt. a Der Suchbegriff wird als regul¨rer Ausdruck interpretiert. a Hinweis: Die standardm¨ßigen Einstellungen dieser Werkzeugleiste sind in ’Set- a tings’ →’Editor’ →’Incremental Search’ konfigurierbar.2.4 ToDo ListF¨r komplexe Software-Projekte, an denen unterschiedliche Benutzer arbeiten, hat man uh¨ufig die Anforderung, dass zu erledigende Arbeiten von unterschiedlichen Usern umzu- asetzen sind. F¨r dieses Problem bietet CodeBlocks eine Todo List. Diese Liste, zu ¨ffnen u ounter ’View’ →’To-Do list’ , enth¨lt die zu erledigenden Aufgaben mit Priorit¨ten, Typ a aund zust¨ndige User. Dabei kann die Ansicht nach zu erledigenden Aufgaben nach Be- anutzer und/oder Quelldatei gefiltert werden. Eine Sortierung nach Spalten erh¨lt der aBenutzer durch Anklicken der jeweiligen Spalten¨berschrift. u Abbildung 2.4: Anzeige der ToDo List Hinweis: Die To-Do Liste kann auch direkt in der Message Console angezeigt werden, indem Sie die Einstellung ’Include the To-Do list in the mes- sage pane’ im Men¨ ’Settings’ →’Environment’ ausw¨hlen. u aEin Todo l¨sst sich bei ge¨ffneten Quellen in CodeBlocks uber die rechte Maustaste ’Add a o ¨To-Do item’ hinzuf¨gen. Im Quellcode wird ein entsprechender Kommentar an der aus- ugew¨hlten Quellzeile eingef¨gt. a u// TODO (user#1#): add new dialog for next releaseBeim Hinzuf¨gen eines To-Do erhalten Sie einen Eingabedialog mit folgenden Einstellun- ugen (siehe Abbildung 2.5 auf Seite 31).Codeblocks 30
  32. 32. CodeBlocks V1.1 2.5 Source Code Exporter Abbildung 2.5: Dialog f¨r Eingabe von ToDo uUser Username <user> im Betriebssystem. Hierbei k¨nnen auch Aufgaben f¨r andere o u Benutzer angelegt werden. Dabei muss der zugeh¨rige Benutzername uber Add new o ¨ user hinzugef¨gt werden. Die Zuordnung eines Todo geschieht dann uber die Aus- u ¨ wahl der unter User aufgelisteten Eintr¨ge. a Hinweis: Beachten Sie, dass die User nichts mit den in CodeBlocks verwendeten Personalities zu tun haben.Type Standardm¨ßig ist der Typ auf Todo eingestellt. aPriority Die Wichtigkeit von Aufgaben k¨nnen in CodeBlocks durch Priorit¨ten (Werte- o a bereich: 1 - 9) gewichtet werden.Position Einstellung ob der Kommentar vor, nach oder exakt an der Stelle des aktuell befindlichen Cursor eingef¨gt werden soll. uComment Style Auswahl der Formatierung f¨r Kommentare (zum Beispiel doxygen). u2.5 Source Code ExporterOft ergibt sich die Notwendigkeit, den Quelltext in andere Anwendungen oder in Emailszu ubernehmen. Beim schlichten Kopieren des Textes geht jedoch die Formatierung verlo- ¨ren, was den Text sehr un¨bersichtlich macht. Die Export Funktion in CodeBlocks schafft u ¨hier Abhilfe. Uber ’File’ →’Export’ kann ein gew¨nschtes Dateiformat f¨r die Export- u udatei ausgew¨hlt werden. Danach ubernimmt das Programm den Dateinamen und das a ¨Zielverzeichnis der ge¨ffneten Quelldatei und schl¨gt diesen als Name zum speichern vor. o aDie jeweilige Dateiendung wird durch das Exportformat bestimmt. Es stehen folgendeFormate zur Verf¨gung. uCodeblocks 31
  33. 33. CodeBlocks V1.1 2.6 Thread Searchhtml Ein textbasiertes Format, das in einem Web-Browser oder Anwendungen zur Text- verarbeitung angezeigt werden kann.rtf Das Rich Text Format ist ein textbasiertes Format, das sich in Programmen zur Textverarbeitung wie Word oder OpenOffice ¨ffnen l¨sst. o aodt Open Document Text Format ist ein standardisiertes Format, dass von Sun und O’Reilly festgelegt wurde. Dieses Format kann von Word, OpenOffice und anderen Textverarbeitungsprogrammen eingelesen werden.pdf Das Portable Document Format kann mit Anwendungen wie Acrobat Reader ge¨ffnet o werden.2.6 Thread Search¨Uber das Menu ’Search’ →’Thread Search’ l¨sst sich das entsprechende Plugin als Tab in ader Messages Console ein- und ausblenden. In CodeBlocks kann mit diesem Plugin eineVorschau f¨r das Auftreten einer Zeichenkette in einer Datei, Workspace oder Verzeich- unis angezeigt werden. Dabei wird die Liste der Suchergebnisse in der rechten Seite derThreadSearch Console angezeigt. Durch Anklicken eines Eintrages in der Liste wird aufder linken Seite eine Vorschau angezeigt. Durch einen Doppelklick in der Liste wird dieausgew¨hlte Datei im CodeBlocks Editor ge¨ffnet. a o Hinweis: Die Einstellung von zu durchsuchenden Dateiendungen voreingestellt ist und eventuell angepasst werden muss.2.6.1 FeaturesThreadSearch plugin bietet folgende Funktionalit¨t a • Mehrfache Suche in Dateien • Interner Editor zur Anzeige einer Vorschau der Suchergebnisse ¨ • Offnen der Datei im Editor • Kontextmen¨ ’Find occurrences’ um Suche in Dateien nach dem Wort unter dem u aktuellen Cursor zu starten. Abbildung 2.6: Thread Search PanelCodeblocks 32
  34. 34. CodeBlocks V1.1 2.6 Thread Search2.6.2 Verwendung 1. Konfigurieren Sie Ihre Einstellungen f¨r die Suche (see Abbildung 2.7 auf Seite 34) u Nach dem das Plugin installiert wurde gibt es vier Arten die Suche zu starten. a) Eingabe oder Auswahl eines Wortes in der Combo Box ein und Best¨tigen Sie a Ihre Eingabe mit Return oder dr¨cken Sie den Search Knopf im Thread Search u Panel in der Message Console. b) Eingabe oder Auswahl eines Wortes in der Symbolleiste Search combo box und Best¨tigen Sie Ihre Eingabe mit Return oder dr¨cken Sie den Search Knopf. a u c) W¨hlen Sie ein ’Wort’ im aktiven Editor und w¨hlen Sie im Kontextmen¨ ’Find a a u occurrences’. d) Selektieren Sie Search/Thread search um den ausgew¨hlten Begriff im aktiven a Editor zu finden. Hinweis: Eintrag 1, 2 und 3 erscheint nur bei entsprechenden Konfiguration von Thread Search. 2. Erneuntes Bet¨tigen des Search Knopfes bricht die Suche ab. a 3. Durch Anklicken eines Eintrages in der Liste der Suchergebnisse wird auf der linken Seite eine Vorschau angezeigt. 4. Durch Doppelklick eines Eintrages in der Liste der Suchergebnisse wird die zugeh¨ri- o ge Datei ge¨ffnet und an die gesuchte Stelle gesprungen. o2.6.3 EinstellungenDer Knopf ’Options’ ¨ffnet den Dialog f¨r die Konfiguration des ThreadSearch plugin (see o uAbbildung 2.7 auf Seite 34): 1. Knopf ’Options’ in dem Reiter Thread Search der Message Console. 2. Knopf ’Options’ der Symbolleiste Thread Search. 3. Men¨ ’Settings’ →’Environment’ und Eintrag Thread search in der linken Spalte u w¨hlen. a Hinweis: Eintrag 1, 2 und 3 erscheint nur bei entsprechenden Konfiguration von Thread Search.Sie k¨nnen Filter f¨r die Suche von Dateien konfigurieren. o u • Project und Workspace checkboxes schließen sich gegenseitig aus. • Suchpfad kann bearbeitet werden oder uber den Knopf ’Select’ konfiguriert werden. ¨ • Maske von Dateiendungen, die durch ’;’ getrennt sind. Zum Beispiel: *.cpp;*.c;*.h.Codeblocks 33
  35. 35. CodeBlocks V1.1 2.6 Thread Search Abbildung 2.7: Konfiguration von Thread Search2.6.4 OptionenWhole word Diese Einstellung gibt in den Suchergebnisse nur die Begriffe zur¨ck, die u exakt dem Eintrag f¨r die Suche entsprechen. uStart word Sucht alle Begriffe die mit Eintrag der Suche beginnen..Match case Ber¨cksichtigt Groß- und Kleinschreibung bei der Suche. uRegular expression Regul¨rer Ausdruck f¨r eine Suche. a u Hinweis: Um nach regul¨re Ausdr¨cken wie n suchen zu k¨nnen, muss in ’Set- a u o tings’ →’Editor’ →’General Settings’ der Eintrag ’Use Advanced RegEx searches’ aktiviert sein.2.6.5 Konfiguration von Thread searchEnable ’Find occurrences contextual menu item’ F¨gt den Eintrag ’Find occurrences u of ’Focused word” im Kontextmen¨ im Editor hinzu. uUse default options when running ’Find occurrences’ Diese Einstellung ubernimmt die ¨Codeblocks 34
  36. 36. CodeBlocks V1.1 2.6 Thread Search voreingestellte Konfiguration f¨r das Kontextmen¨ ’Find occurrences’. Standardm¨ßig u u a ist die Einstellung ’Whole word’ und ’Match case’ aktiv.Delete previous results at search begin Bei der Suche mit ThreadSearch und der Ein- stellung ’Tree View’ werden die Suchergebnisse hierarchisch angezeigt, d.h. • der erste Knoten ist der Suchbegriff selbst • darunter werden die Dateien, die den Suchbegriff enthalten, gelistet • innerhalb der Dateiliste wird die Zeilennummer und der zugeh¨rige Inhalt, wo o der Suchbegriff gefunden wurde, angezeigt Bei einer Suche nach mehreren Begriffen wird die Liste schnell un¨bersichtlich, des- u halb bietet diese Einstellung die M¨glichkeit vorangegangene Suchergebnisse beim o Start einer Suche zu l¨schen. o Hinweis: In der Anzeige der Suchergebnisse k¨nnen auch einzelne oder alle o Eintr¨ge uber das Kontextmen¨ ’Delete item’ bzw. ’Delete all items’ a ¨ u gel¨scht werden. o2.6.6 LayoutDisplay header in log window Der Name der Dateien wird in den Suchergebnissen an- gezeigt. Hinweis: Wenn diese Option deaktiviert ist, k¨nnen die Spaltenbreite nicht o mehr ver¨ndert werden, belegen jedoch Platz. aDraw lines between columns Anzeigen von Linien zwischen den Spalten im List Mode.Show ThreadSearch toolbar Anzeige der Symbolleiste f¨r das Thread Search plugin. uShow search widgets in ThreadSearch Messages panel Mit dieser Einstellung werden nur das Fenster f¨r die Suchergebnisse und der Editor f¨r die Vorschau angezeigt. Die u u Anzeige aller anderen Elementen f¨r das Thread Search Plugin wird unterdr¨ckt. u uShow code preview editor Code preview kann entweder in den Thread Search Optionen deaktiviert werden oder durch einen Doppelklick auf die Trennlinie zwischen Code Preview und der Ausgabe der Suchergebnissen versteckt werden. In den Optionen kann die Vorschau wieder aktiviert werden.2.6.7 Panel ManagementF¨r das Verwalten des ThreadSearch Fenster stehen zwei Alternativen zur Auswahl. Mit uder Einstellung ’Message Notebook’ wird das ThreadSearch Fenster in der Message Kon-sole angedockt. Mit der Einstellung ’Layout’ k¨nnen Sie das Fenster aus der Message oKonsole l¨sen und als freies Fenster anordnen. oCodeblocks 35

×