SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
CodeBlocks

Manual

Version 1.1




Thanks to the CodeBlocks team:


Anders F. Bj¨rklund (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 (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 terms
of the GNU Free Documentation License, Version 1.2 or any later version published by
the Free Software Foundation.
1 CodeBlocks Projektverwaltung
Die Dokumentation f¨r Kapitel 3 auf Seite 55 und ?? auf Seite ?? sind offizielle Doku-
                   u
mentationen der CodeBlocks Wiki-Seite und nur in englischer Sprache verf¨gbar.
                                                                        u
Die nachfolgende Abbildung zeigt den Aufbau der CodeBlocks Ober߬che.
                                                                a




                           Abbildung 1.1: IDE CodeBlocks

Management 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.
       o
Open files list Zeigt die Liste der im Editor ge¨ffneten Dateien an, hier hello.c.
                                               o
CodeSnippets L¨sst sich uber das Men¨ ’View’ →’CodeSnippets’ anzeigen. Hier k¨nnen
               a        ¨           u                                        o
    Textbausteine, Verkn¨pfungen auf Dateien und Urls verwaltet werden.
                         u
Logs & others Fenster zur Ausgabe von Suchergebnisse, Logmeldung eines Compilers
     etc.
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 Text
geht nur auf einige Besonderheiten der Projektverwaltung ein.

1.1 Projektansicht
In CodeBlocks werden Quellen und die Einstellungen f¨r den Builtprozess in einer Projekt-
                                                    u
datei <name>.cbp gespeichert. Ein Projekt besteht typischerweise aus C/C++ Quellen
und zugeh¨rige Header Dateien. Ein neues Projekt legen Sie am einfachsten an, indem Sie
          o
das Men¨ ’File’ →’Project’ ausf¨hren und einen Wizard ausw¨hlen. Anschließend k¨nnen
        u                      u                             a                     o
Sie im Management Fenster uber das Kontextmen¨ ’Add files’ Dateien zum Projekt hin-
                           ¨                     u
zuf¨gen. In CodeBlocks werden die Projektdateien abh¨ngig von ihrer Dateiendung in
   u                                                    a
Kategorien verwalten. Die voreingestellen Kategorien sind f¨r
                                                           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 f¨r Projekte
                                                                             u


Resources 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                                                                          o
auch eigene Kategorien f¨r Dateiendungen angelegt werden. Wenn Sie z.B. Linkerskripte
                        u
mit der Endung *.ld unter der Kategorie Linkerscript anzeigen m¨chten, legen Sie
                                                                    o
einfach 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
                 o
eine 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 Reiter
Notes aktiviert bzw. deaktiviert werden.

1.3 Projektvorlagen
CodeBlocks wird mit einer Vielzahl von Projektvorlagen ausgeliefert, die beim Anlegen
eines neuen Projektes angezeigt werden. Es ist aber auch m¨glich, eigene Vorlagen zu spei-
                                                           o
chern und somit eigene Vorgaben f¨r Compilerschalter, wie zu verwendete Optimierung,
                                    u
maschinenspezifische Schalter etc. in Vorlagen zusammenzufassen. Diese werden im Ver-
zeichnis Dokumente und Einstellungen<user>AnwendungsdatencodeblocksUserTemplates
abgelegt. Wenn die Vorlagen f¨r alle Benutzer zug¨nglich sein sollen, m¨ssen die Vorla-
                               u                    a                     u
gen in zugeh¨riges Verzeichnis der CodeBlocks Installation kopiert werden. Diese Vorlagen
             o
erscheinen dann beim n¨chsten Start von CodeBlocks unter ’New’ →’ Project’ →’User
                        a
templates’ .

          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 erstellen
In 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 eigenst¨ndiges Projekt ausgelagert werden, daf¨r selektieren
                                     a                                      u
Sie in ’Project’ →’Properties’ den Reiter ’Build Targets’ die Variante und w¨hlen Sie
                                                                                a
Schaltfl¨che ’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 Targets
Mit sogenannten Virtual Targets k¨nnen Projekte in CodeBlocks weiter strukturiert wer-
                                 o
den. Eine h¨ufige Projektstruktur besteht aus zwei Build Targets. Einem Target ’Debug’
            a
mit Debuginformation und einem anderen Target ’Release’ ohne diese Information. Durch
Hinzuf¨gen von Virtual Targets unter ’Project’ →’Properties’ →’Build Targets’ k¨nnen
       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 Schritte
CodeBlocks erm¨glicht es, weitere Arbeitschritte vor oder nach der Compilierung eines
                o
Projektes durchzuf¨hren. 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 Hinzuf¨gen von Scripts in Build Targets
                                                     u


Ein weiteres Beispiel f¨r ein Postbuilt Step kann die Archivierung eines Projektes sein.
                       u
Hierzu erstellen Sie ein Build Target ’Archive’ und tragen im Postbuilt Step folgende
Anweisung ein
zip -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 Ausf¨hren des Targets ’Archive’
                                                            u
die gepackte Datei.
In dem Verzeichnis share/codeblocks/scripts finden Sie einige Beispiele f¨r Skripte.
                                                                            u
Ein Skript kann uber das Men¨ ’Settings’ →’Scripting’ hinzugef¨gt und in ein Men¨ ein-
                 ¨           u                                u                 u
getragen werden. Wenn Sie ein Skript z.B. make dist uber ein Men¨ ausf¨hren, werden
                                                     ¨            u     u
alle Dateien, die zum einem aktiven Projekt geh¨ren in ein Archiv <project>.tar.gz
                                               o
komprimiert.

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        u
den, auch in Skripten zu verwenden. Mit dem Skript entsteht somit ein zus¨tzlicher Frei-
                                                                         a
heitsgrad um die Generierung Ihres Projektes zu steuern.

           Hinweis:
           Ein Skript kann auch bei einem Build Target angegeben werden.

1.8 Workspace und Project Dependencies
In CodeBlocks k¨nnen Sie mehrere Projekte ge¨ffnet halten. Durch speichern der ge¨ffne-
                o                           o                                   o
ten Projekte uber ’File’ →’Save workspace’ werden diese in einem Arbeitsbereich unter
             ¨
<name>.workspace zusammengefasst. Wenn Sie beim n¨chsten Start von CodeBlocks
                                                       a
den Arbeitsbereich <name>.workspace ¨ffnen erscheinen wieder alle Projekte.
                                       o
Komplexe 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.
                                   a
Beispiel
Ein Projekt A enth¨lt zentrale Funktionen, die auch anderen Projekten in Form einer
                    a
Bibliothek zug¨nglich gemacht werden. Wenn nun diese Quellen eines Projektes ge¨ndert
              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 imple-
mentiert, gewahrt bleibt, muss Projekt B von Projekt A abh¨ngen. Die Information f¨r
                                                            a                      u
die Abh¨ngigkeit von Projekten wird im jeweiligen Workspace gespeichert, damit jedes
        a
Projekt weiterhin einzeln erzeugt werden kann. Durch die Verwendung von Abh¨ngigkei-
                                                                             a
ten kann auch die Reihenfolge bei der Generierung von Projekten gesteuert werden. Die
Abh¨ngigkeiten f¨r Projekte werden uber den Men¨eintrag ’Project’ →’Properties’ und
    a            u                   ¨           u
Auswahl der Schaltfl¨che ’Project’s dependencies’ gesetzt.
                     a

Codeblocks                                                                            5
CodeBlocks V1.1                                     1.9 Einbinden von Assembler Dateien


1.9 Einbinden von Assembler Dateien
In der Projektansicht (Project View) im Fenter Management werden Assembler Dateien
im Kategorie ASM Sources aufgef¨hrt. 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 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 Sie
die 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 $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
<asopt> durch Ihre Einstellungen ersetzen brauchen.

1.10 Editor und Hilfsmittel
1.10.1 Default Code
Durch vorgegebene Coding Rules im Unternehmen m¨ssen Quelldateien einen einheit-
                                                       u
lichen Aufbau vorweisen. CodeBlocks bietet die M¨glichkeit, beim Anlegen von neuen
                                                    o
C/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
            u
hierf¨r kann unter ’Stettings’ →’Editor’ Default Code vorgenommen werden. Wenn eine
     u
neue Datei angelegt wird, dann wird eine Makroau߬sung von Variablen, die zum Beispiel
                                                   o
uber das Men¨ ’Settings’ →’Global variables’ definiert wurden, durchgef¨hrt. 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 Abbreviation
Durch Definition von Abk¨rzung in CodeBlocks kann einiges an Schreibarbeit und Zeit
                          u
gespart werden. Hierzu werden in ’Settings’ →’Editor’ sogenannte Abbreviations unter
dem Namen <name> angelegt, die uber das Tastenk¨rzel Ctrl-J aufgerufen werden (siehe
                                  ¨               u
Abbildung 1.3 auf Seite 7).




                      Abbildung 1.3: Definition von Abk¨rzungen
                                                      u

Durch Einf¨gen von Variablen $(NAME) in den Abk¨rzungen ist auch eine Parametrisie-
          u                                    u
rung 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                                u
Inhalt der Variablen abgefragt und eingef¨gt.
                                         u

1.10.3 Personalities
CodeBlocks Einstellungen werden als Anwendungsdaten im Verzeichnis codeblocks in
einer Datei <user>.conf gespeichert. Diese Konfigurationsdatei enth¨lt Informationen
                                                                         a
wie beispielsweise zuletzt ge¨ffnete Projekte, Einstellungen f¨r Editor, Anzeige von Sym-
                             o                               u
bolleisten etc. Standardm¨ßig ist die Personality ’default’ eingestellt, so dass die Konfi-
                           a
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 Profil nicht bereits existiert, wird es auto-
matisch angelegt. Durch diese Vorgehensweise k¨nnen f¨r unterschiedliche durchzuf¨hren-
                                               o       u                             u
de Arbeitsschritte auch zugeh¨rige Profile gespeichert werden. Wenn Sie CodeBlocks mit
                              o
dem zus¨tzlichen Parameter --personality=ask starten erscheint ein Auswahldialog f¨r
         a                                                                                u
die verf¨gbaren Profile.
        u

          Hinweis:
          Der Name des aktuell verwendeten Profils/Personality wird rechts in
          der Statusbar angezeigt.

1.10.4 Konfigurationsdateien
Die Einstellungen f¨r CodeBlocks werden im Profil default.conf im Ordner codeblocks
                   u
in Ihren Anwendungsdaten gespeichert. Bei Verwendung von personalities (siehe Unter-
abschnitt 1.10.3 auf Seite 7 werden die Konfiguration in der Datei <personality>.conf
abgelegt.
Mit dem Werkzeug cb share conf, aus dem CodeBlocks Installationsverzeichnis, k¨nnen
                                                                              o
diese Einstellungen verwaltet und gesichert werden.
Falls Sie Standardeinstellung f¨r mehrere Benutzer eines PCs vorgeben m¨chten, muss die
                               u                                       o
Konfigurationsdatei default.conf im Ordner Dokumente und EinstellungenDefault
UserAnwendungsdatencodeblocks 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 Konfigurationsdatei default.conf in dieses Verzeichnis. Die Konfiguration wird
als globale Einstellung verwendet. Bitte achten Sie darauf, dass die Datei schreibbar sein
              ¨
muss, damit Anderungen in der Konfiguration auch gespeichert werden k¨nnen.o

1.10.5 Navigieren und Suchen
In CodeBlocks existieren unterschiedliche M¨glichkeiten zum schnellen Navigieren zwi-
                                             o
schen 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                  u
einer Quelldatei gesetzt bzw. gel¨scht. Mit (Alt-PgUp) wird zum vorherigen Lesezeichen
                                 o
gesprungen und mit (Alt-PgDn) zum n¨chsten gewechselt.
                                        a
In der Projektansicht k¨nnen Sie durch Ausw¨hlen eines Projektes oder im gesamten
                       o                       a
Workspace uber das Kontextmen¨ ’Find file’ in einem Dialog einen Dateinamen angeben.
           ¨                    u
Dieser wird anschließend in der Projektansicht markiert und durch Eingabe mit Return
im Editor ge¨ffnet (siehe Abbildung 1.4 auf Seite 9).
             o
F¨r das schnelle Navigieren zwischen Header/Quelle Dateien bietet CodeBlocks folgende
 u
M¨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
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 Datei

CodeBlocks bietet verschiedene M¨glichkeiten f¨r die Suche in einer Datei oder in Ver-
                                 o            u
zeichnissen. Mit dem ’Search’ →’Find’ (Ctrl-F) oder ’Find in Files’ (Ctrl-Shift-F) ¨ffnet
                                                                                   o
sich der Dialog f¨r die Suche.
                 u
Eine weitere komfortable Funktion bietet das Tastenk¨rzel Alt-G und Ctrl-Alt-G. Der sich
                                                    u
o
¨ffnende Dialog erlaubt die Auswahl von Dateien/Funktionen und springt anschließend
an die Implementierung der Funktion (siehe Abbildung 1.6 auf Seite 10) bzw. ¨ffnete die
                                                                              o
ausgew¨hlte Datei. Als Eingabe werden auf Wildcards ∗ oder ? etc. f¨r eine inkrementelle
       a                                                           u
Suche 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.
                                              a

Wenn Sie sich im Editor Fenster befinden, ¨ffnet sich mit Ctrl-Tab ein zus¨tzliches Open
                                          o                              a
Files Dialog und es kann zwischen den Eintr¨gen der zu ¨ffnenden Dateien gewechselt
                                             a           o
werden. Bei gedr¨ckter 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 ¨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             o
Eine h¨ufige 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 k¨nnen 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 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 Symbolansicht
F¨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                                         a
G¨ltigkeitsbereich (Scope) der Ansicht auf die aktuelle Datei oder Projekt oder den ge-
  u
samten Arbeitsbereich einstellen.

Codeblocks                                                                            10
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.
 u
Global 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.
                                                          a
Global macros Listet Makros von Pr¨prozessor Direktiven auf.
                                  a




                            Abbildung 1.7: Symbolansicht


Strukturen und Klassen werden unterhalb im ’bottom tree’ angezeigt und die Sortierung
kann uber das Kontextmen¨ ge¨ndert werden. Wenn eine Kategorie mit der Maus an-
      ¨                     u a
gew¨hlt 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 ¨ffnet die Datei, wo das
                                                                o
Symbol definiert bzw. die Funktion implementiert ist und springt an die zugeh¨rige Zeile.
                                                                              o
Die Symbolansicht wird beim Speichern einer Datei aktualisiert. Eine Auto-Refresh des
Symbolbrowsers ohne Speichern ist uber das Men¨ ’Settings’ →’Editor’ →’Code Comple-
                                   ¨             u
tion’ aktivierbar (siehe Abbildung 1.8 auf Seite 12). Bei Projekten mit vielen Symbolen
wird 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 Hilfen
Die Entwicklungsumgebung CodeBlocks unterst¨tzt das Einbinden von externen Hilfen
                                                 u
uber das Men¨ ’Settings’ →’Environment’ . F¨gen Sie ein Manual Ihrer Wahl im chm
¨              u                               u
Format 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
                                                                                       u
einen Begriff der im Editor markiert wird. Nun k¨nnen Sie in CodeBlocks in einer ge¨ffne-
                                                o                                   o
ten Quelldatei eine Funktion mit der Maus durch Doppelklick markieren und anschließend
die Hilfe mit F1 aufrufen und erhalten die zugeh¨rige Dokumentation.
                                                 o
Wenn Sie mehrere Hilfedateien einbinden, k¨nnen Sie im Editor einen Begriff markieren
                                          o
und anschließend uber das Kontextmen¨ ’Locate in’ die Hilfedatei ausw¨hlen, in der
                 ¨                    u                                 a
CodeBlocks suchen soll.
In CodeBlocks werden auch die Hilfe mit man pages unterst¨tzt. Hier f¨gen 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 k¨nnen einfache HTML-
                                                               o
Dateien in CodeBlocks angezeigt und f¨r Suchen genutzt werden. Konfigurieren Sie ein-
                                     u
fach 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
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
CodeBlocks V1.1                               1.11 Tips zum Arbeiten mit CodeBlocks


1.10.8 Einbinden von externen Werkzeugen
Die 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
                                           u
auf Built-in Variables (see Abschnitt 3.2 auf Seite 56) zugegriffen werden. Des weiteren
existieren f¨r 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 ge¨ffnet
                                                                                 o
bleiben sollen, ist die Option ’Launch tool visible detached’ einzustellen.

1.11 Tips zum Arbeiten mit CodeBlocks
In diesem Kapitel werden Ihnen einige n¨tzliche Einstellungen in CodeBlocks vorgestellt.
                                       u

       ¨
1.11.1 Anderungen im Editor verfolgen
CodeBlocks bietet die M¨glichkeit ge¨nderte Stellen eines Quellcodes im Vergleich zu ei-
                         o            a
ner 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
                                                   ¨            u
changed line’ oder ’Search’ →’Goto previous changed line’ m¨glich. Standardm¨ßig sind
                                                             o                a
hierf¨r die Tastenk¨rzel Ctrl-F3 und Ctrl-Shift-F3 konfiguriert.
     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 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 Anwendungen
Zwischen CodeBlocks und anderen Anwendungen k¨nnen 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 k¨nnen an CodeBlocks Kommandos mit der folgenden Syntax
                          o
weitergegeben werden.
[<command>("<parameter>")]

Als Kommandos stehen zur Verf¨gung:
                             u
Open               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 Umgebungsvariablen
Die Konfiguration f¨r ein Betriebssystem wird durch sogenannte Umgebungsvariablen
                    u
festgelegt. Zum Beispiel enth¨lt die Umgebungsvariablen PATH den Pfad auf einen in-
                              a
stallierten Compiler. Das Betriebssystem geht diese Umgebungsvariable von vorne nach
hinten durch, d.h. die Eintr¨ge am Ende werden als letztes durchsucht. Wenn nun unter-
                            a
schiedliche Versionen eines Compilers oder anderer Anwendungen installiert sind, k¨nnen
                                                                                  o
nun folgende Situationen auftreten:
   • Die falsche Version einer Software wird aufgrufen
   • Installierte Softwarepakete st¨ren sich gegenseitig
                                   o
Es k¨nnte zum Beispiel notwendig sein, dass f¨r unterschiedliche Projekte unterschiedliche
     o                                       u
Versionen eines Compilers oder anderer Werkzeugen vorgeschrieben sind. Eine M¨glich-
                                                                                   o
keit ist die Umgebungsvariablen in der Systemsteuerung jeweils f¨r ein Projekt zu ¨ndern.
                                                                 u                a
Diese Vorgehensweise ist jedoch fehleranf¨llig und nicht flexibel. F¨r diese Anforderung
                                          a                         u
bietet CodeBlocks eine elegante L¨sung. Es lassen sich hier unterschiedliche Konfiguratio-
                                 o
nen von Umgebungsvariablen erstellen, die nur intern in CodeBlocks verwendet werden.
Zus¨tzlich kann zwischen diesen Konfiguration 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 Konfiguration wird uber die¨
         a                        ¨
Schaltfl¨che ’Create’ erzeugt. Die Ubernahme der hinzugef¨gten Umgebungsvariablen er-
                                                           u
folgt durch Best¨tigen des OK Knopfes. Das Aktivieren einer Konfiguration erfolgt uber
                 a                                                                   ¨
den Knopf Set Now.


Codeblocks                                                                             15
CodeBlocks V1.1                               1.11 Tips zum Arbeiten mit CodeBlocks




                         Abbildung 1.12: Umgebungsvariablen


Der Zugriff und der G¨ltigkeitkeitbereich auf die hier erstellten Umgebungsvariablen ist
                     u
auf CodeBlocks begrenzt. Sie k¨nnen diese Umgebungsvariablen wie auch andere Code-
                              o
Blocks Variablen uber $(NAME) expandieren.
                 ¨

           Hinweis:
           Eine Konfiguration von Umgebungsvariable l¨sst sich pro Projekt im
                                                    a
           Kontextmen¨ ’Properties’ im Reiter ’EnvVars options’ selektieren.
                     u

Beispiel
Sie k¨nnen die verwendete Umgebung in einem postbuild Step (siehe Abschnitt 1.6 auf
     o
Seite 4) in einer Datei <project>.env schreiben und zu Ihrem Projekt archivieren.
cmd /c echo %PATH%     > project.env

oder unter Linux
echo $PATH > project.env

1.11.4 Umschalten zwischen Perspektiven
Abh¨ngig von der Aufgabenstellung ist es sinnvoll unterschiedliche Konfigurationen oder
    a
Ansichten in CodeBlocks zu haben und diese zu speichern. Standardm¨ßig werden die
                                                                        a
Einstellungen wie z.B. Anzeige von Symbolleisten, Layout etc. in der Konfigurationsdatei
default.conf gespeichert. Durch die Verwendung der Kommandozeilenoption --personality=ask
beim Start von CodeBlocks kann zwischen verschiedenen Einstellungen umgeschaltet wer-
den. Neben dieser globalen Einstellung besteht jedoch h¨ufig auch der Wunsch w¨hrend
                                                       a                        a
einer Session zwischen Ansichten f¨r Fenster und Symbolleisten zu wechseln. Zwei typi-
                                  u
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 st¨ndig mit dem Offnen und Schließen von Fenstern, Symbol-
                                 a
leisten 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                                                o
nun 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.
                                                         u

1.11.5 Umschalten zwischen Projekten
Wenn mehrere Projekte oder Dateien gleichzeitig ge¨ffnet sind, so will der Benutzer h¨ufig
                                                  o                                 a
zwischen den Projekten und Dateien schnell wechseln k¨nnen. CodeBlocks stellt hierf¨r
                                                      o                               u
eine Reihe an Shortcuts zur Verf¨gung.
                                u
Alt-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>.h

1.11.6 Erweitere Einstellung f¨r Compiler
                              u
Beim Buildprozess eines Projektes werden die Ausgaben des Compilers in Fenster Mes-
sages im Reiter Build Log ausgegeben. Wenn Sie an detaillierten Information interessiert
sind, kann die Ausgabe erweitert werden. Dazu w¨hlen Sie unter ’Settings’ →’Compiler
                                                a
and Debugger’ im Reiter ’Other Settings’.
Achten Sie darauf, dass beim Eintrag Selected Compiler der gew¨nschte Compiler ein-
                                                                  u
gestellt ist. Die Einstellung ’Full command line’ im Feld Compiler Logging gibt die
vollst¨ndige Information im Build Log aus. Zus¨tzlich kann diese Ausgabe in eine HTML-
      a                                       a
Datei 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 build
progress bar’.

1.11.7 Zoom im Editor
CodeBlocks bietet einen sehr leistungsf¨higen Editor. Eine Besonderheit ist, dass Sie in-
                                       a
nerhalb einer ge¨ffneten Datei die Darstellung vergr¨ßern und verkleinern k¨nnen. Wenn
                o                                  o                       o
Sie eine Maus mit einem Scrollrad haben, halten Sie einfach die Ctrl-Taste gedr¨ckt 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 Tastenk¨rzel Ctrl-Numepad-/ oder mit ’Edit’ →’Special
                          u
         commands’ →’Zoom’ →’Reset’ k¨nnen Sie auf die urspr¨ngliche
                                        o                     u
         Schriftgr¨ße umschalten.
                  o

1.11.8 Wrap Mode
F¨r das Editieren von Textdateien z.B. *.txt innerhalb CodeBlocks ist es n¨tzlich den
  u                                                                         u
Eingabetext 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                                       a
Men¨ ’Settings’ →’Editor’ →’Other Options’ und mit der Checkbox ’Word wrap’ aktivie-
     u
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 first 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 gew¨nscht ist, muss stattdessen die Tastenkombination
                                    u
’Atl-Home/Pos 1’ gedr¨ckt werden. Entsprechendes gilt f¨r ’Alt-End/Ende’ .
                       u                                 u

1.11.9 Select Modes im Editor
CodeBlocks unterst¨tzt im Editor verschiedene Modes f¨r Selektion und Einf¨gen 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 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 folding
CodeBlocks unterst¨tzt ein sogenanntes Folding f¨r 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 k¨nnen 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 f¨r das Folding und eine Grenze f¨r die Folding-Tiefe kann
                   u                               u
         im Men¨ ’Settings’ →’Editor’ →’Folding’ ge¨ndert werden.
                 u                                   a



Codeblocks                                                                           19
CodeBlocks V1.1                                1.11 Tips zum Arbeiten mit CodeBlocks


Neben dem Folding f¨r Funktionen kann die Funktionalit¨t auch f¨r Pr¨prozessor Direk-
                      u                                   a        u    a
tiven eingestellt werden. Aktivieren Sie hierf¨r die Option ’Fold preprocessor commands’
                                              u
im Men¨ ’Settings’ →’Editor’ unter dem Eintrag Folding.
        u
Eine weitere M¨glichkeit ist benutzerdefinierte Folding Punkte zu definieren, indem ein
               o
Kommentarzeichen durch eine ge¨ffnete Klammer den Anfang und ein Kommentar mit
                                 o
schließ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-
                                                                           u
piler 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
                                                    o
dem Parsen gewonne Information uber Symbole kann f¨r die sogenannte Auto completion
                                   ¨                   u
genutzt werden, wenn diese in den Einstellungen des Editors f¨r CodeBlocks aktiviert ist.
                                                             u
Die Auto completion k¨nnen Sie im Editor uber das Tastenk¨rzel Ctrl-Space ausf¨hren.
                        o                    ¨               u                    u
Im Men¨ ’Settings’ →’Editor’ →’Syntax highlighting’ k¨nnen eigene keywords zum Lexer
        u                                                o
hinzugef¨gt werden.
         u

1.11.12 Find broken files
Wenn 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 einem
unterbrochenem Symbol in der Project View von CodeBlocks angezeigt. Das Entfernen
einer Datei sollte in der Projekt View mit dem Kontextmen¨ ’Remove file from project’
                                                         u
vorgenommen werden.
Bei gr¨ßeren Projekten mit vielen Unterordnern kann die Suchen nach ’broken files’ sehr
      o
schwierig 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
                                         o
eingeben und als Option ’Project files’ oder ’Workspace files’ w¨hlen, wird ThreadSearch
                                                                  a
alle Dateien eines Projektes durchsuchen; falls ein ’broken file’ im Projekt oder Workspace
vorkommt, wird als Fehler diese Datei gemeldet.

1.11.13 Einbinden von Bibliotheken
In den Builtoption eines Projektes k¨nnen Sie unter ’Linker Settings’ im Eintrag ’Link
                                      o
libraries’ uber die Schaltfl¨che ’Add’ verwendete Bibliotheken hinzuf¨gen. Dabei k¨nnen
           ¨               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 Prefix lib und die Dateiendung angeben.
Beispiel
F¨r eine Bibliothek <path>libslib<name>.a geben Sie einfach <name> an. Der
 u
Linker 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 Objekten
Beim 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 denu
Embedded Bereiche name.elf. In einigen F¨llen ist es w¨nschenswert die Reihenfolge
                                            a              u
f¨r das Binden von Objekten vorzugeben. In CodeBlocks kann dies durch die Vergabe
 u
von 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                      a
des Objekts dazu, dass es zu erst gebunden wird.

1.11.15 Autosave
CodeBlocks bietet die M¨glichkeit Projekte und Quelldateien automatisch zu speichern
                         o
bzw. 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
                                                                           u
einer Sicherungskopie eingestellt werden.

1.11.16 Einstellen f¨r Dateizuordnungen
                    u
In CodeBlocks k¨nnen Sie zwischen verschiedenen Arten der Behandlung von Dateien-
                 o
dungen 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
       o
associated application) f¨r entsprechende Dateiendungen verwenden oder f¨r jede Datei-
                         u                                                 u
endungen die Einstellungen so andern, dass entweder ein benutzerdefiniertes Programm
                                ¨
(launch an external program) gestartet wird oder die Datei in Editor von CodeBlocks
ge¨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
CodeBlocks V1.1                                 1.12 CodeBlocks in der Kommandozeile


1.12 CodeBlocks in der Kommandozeile
Die IDE CodeBlocks kann auch ohne grafische Oberfl¨che in der Kommandozeile aus-
                                                       a
gef¨hrt werden. Dabei stehen unterschiedliche Schalter zur Verf¨gung um den Buildpro-
   u                                                           u
zess eines Projektes zu steuern. Da CodeBlocks somit skriptf¨hig ist, kann die Erzeugung
                                                            a
von Exectutables in eigene Arbeitsabl¨ufe integriert werden.
                                      a
codeblocks.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
CodeBlocks V1.1                                                          1.13 Shortcuts


1.13 Shortcuts
Auch 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-
                                                                    u
binationen 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-PgDown
This is a list of shortcuts provided by the CodeBlocks editor component. These shortcuts
cannot 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-K

1.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-W

1.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-F6




Codeblocks                                                                           23
CodeBlocks V1.1                               1.13 Shortcuts


1.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-F11




Codeblocks                                               24
2 Plugins
2.1 Astyle
Artistic Style dient dem Einr¨cken, Formatieren und ’Versch¨nern’ f¨r C, C++, C#
                             u                             o       u
Quellen. Es kann verwendet werden um unterschiedliche Coding Rules f¨r CodeBlocks
                                                                     u
einzustellen.




                      Abbildung 2.1: Formatierung f¨r Quellcode
                                                   u

Wenn Quellen einger¨ckt werden, tendieren Programmierer dazu sowohl Leerzeichen als
                    u
auch Tabulatoren einzusetzen, um die gew¨nschte Einr¨ckung zu erzielen. Dar¨berhinaus
                                         u          u                      u
gibt es auch Editoren die standardm¨ßig Tabulatoren durch eine feste Anzahl von Leer-
                                    a
zeichen ersetzen. Andere Editoren versuchen den Code durch Einf¨gen von White space
                                                                u
lesbarer zu machen selbst wenn der Code Tabulatoren enth¨lt.
                                                        a
Da die Anzeige der Leerzeichen f¨r jeden Tabulator durch die Einstellungen im Editor
                                 u
bestimmt ist, wirft dies immer ein Problem auf, wenn Programmierer unterschiedliche
Editoren verwenden. Selbst bei gr¨ßter Sorgfalt f¨r 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# einr¨ckt und formatiert.
                                  u
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                                        u

2.2 CodeSnippets
Das Plugin CodeSnippets erm¨glicht es Textbausteine und Verkn¨pfungen auf Dateien in
                                o                                 u
einer Baumansicht nach Kategorien zu strukturieren. Die Bausteine dienen dazu, h¨ufig a
verwendete 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
                                     a
unterschiedlichen Ordnern abgelegt. Im Fenster CodeSnippets k¨nnen Sie nun Kategorien
                                                                o
und darunter Verkn¨pfungen auf die gew¨nschten Dateien erstellen. Damit k¨nnen Sie
                       u                    u                                  o
den Zugriff auf die Dateien unabh¨ngig von der Ablage im Dateisystem verwalten und
                                     a
ohne 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          o
der rechten Maustaste uber das Kontextmen¨ ’Save Index’ gespeichert werden. Die dabei
                       ¨                    u
erzeugte Datei codesnippets.xml befindet sich anschließend in Ihren Dokumente und
EinstellungenAnwendungsdaten 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
                                        a
CodeSnippets an einen anderen Ort speichern m¨chten, selektieren Sie den Eintrag ’Save
                                                o
Index As’. Zum Laden dieser Datei w¨hlen Sie beim n¨chsten Start von CodeBlocks’Load
                                     a               a
Index File’ oder stellen das Verzeichnis in dem Kontextmen¨ ’Settings’ unter ’Snippet
                                                            u
Folder’ ein. Diese Einstellungen werden in der zugeh¨rigen Datei codesnippets.ini in
                                                     o
den Anwendungsdaten hinterlegt.
Das Einf¨gen einer Kategorie geschieht uber das Men¨ ’Add SubCategory’. In einer Ka-
          u                             ¨             u
tegorie k¨nnen Snippets (Textbausteine) oder File Links (Verkn¨pfungen) liegen. Ein
          o                                                         u
Textbaustein 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
                                                                  u
per Drag and Drop auf den Textbaustein ziehen, wird der Inhalt in den Textbaustein
eingef¨gt. Wenn Sie einen selektierten Text auf eine Kategorie ziehen wird in diesem Ord-
      u
ner automatisch ein Textbaustein mit dem Namen ’New snippet’ erzeugt und es ¨ffnet   o
sich der Properties Dialog. Durch einen Doppelklick auf den neu eingef¨gten Eintrag oder
                                                                       u
durch Auswahl von ’Edit Text’ ¨ffnet sich ein eigenst¨ndiger 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 k¨nnen auch in
                                                                      o

Codeblocks                                                                            26
CodeBlocks V1.1                                                     2.2 CodeSnippets




                    Abbildung 2.2: Bearbeiten eines Textbausteins


andere Anwendungen gezogen werden. Im CodeSnippets Browser k¨nnen Sie auch per
                                                               o
Drag 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
                                                                                   u
die Werte der Variablen erfolgt uber ein Eingabefeld, wenn der Textbaustein mit dem
                                ¨
Kontextmen¨ ’Apply’ aufgerufen wird.
           u
Neben den Textbausteinen k¨nnen auch Verkn¨pfungen auf Dateien angelegt werden.
                              o                u
Wenn Sie zuvor einen Textbaustein angelegt haben und anschließend das Kontextmen¨ ’Pro-
                                                                                   u
perties’ ausw¨hlen, selektieren Sie mit der Schaltfl¨che ’Link target’ das Ziel der Ver-
              a                                    a
kn¨pfung. Eine Verkn¨pfung kann auch uber das Kontextmen¨ ’Convert to FileLink’ er-
   u                   u                ¨                    u
zeugt werden. Dieser Schritt wandelt den Textbaustein automatisch in eine Verkn¨pfung
                                                                                 u
auf eine Datei um. In CodeSnippets werden Textbausteine mit einem T-Symbol und
Verkn¨pfungen auf eine Datei mit einen F-Symbol und Urls mit einem U-Symbol gekenn-
      u
zeichnet. Falls Sie die in Codesnippets markierte Datei (Verkn¨pfung) ¨ffnen m¨chten
                                                               u        o        o
selektieren Sie im Kontextmen¨ ’Open File’ oder halten Sie die ’Alt’ Taste gedr¨ckt und
                               u                                               u
machen 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.
                      o

Falls 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                                                       o
Viewer 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-
                                                   a
kn¨pfung einfach uber die gewohnten Anwendungen zuzugreifen. Der Inhalt der Co-
  u                ¨
desnippets wird in der Datei codesnippets.xml und die Konfiguration in der Datei
codesnippets.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
                    u
personalities bezeichnet. Wenn Sie CodeBlocks mit der Kommandozeilen Option --personality=<prof
starten, wird entweder ein neues angelegt oder ein existierendes Profil verwendet. Die

Codeblocks                                                                         27
CodeBlocks V1.1                                                       2.2 CodeSnippets


Einstellungen werden dann statt in default.conf in der Datei <personality>.conf in
den Anwendungsdaten gespeichert. Das Plugin Codesnippets speichert seine Einstellun-
gen dann in der Datei <personality>.codesnippets.ini. Wenn nun Sie in den Settings
von 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
             o
Sie zu unterschiedlichen Profilen auch unterschiedliche Konfigurationen f¨r Textbausteine
                                                                       u
und Verkn¨pfungen verwalten k¨nnen.
           u                    o
F¨r das Navigieren zwischen den Kategorien und Snippets bietet das Plugin eine zus¨tz-
  u                                                                                  a
liche Suchfunktion. Hierbei l¨sst sich auch der G¨ltigkeitsbereich (Scope) f¨r die Suche
                             a                   u                          u
auf Snippets, Categories oder Snippets and Categories einstellen. Durch Eingabe des
gew¨nschten Suchbegriffes wird automatisch der zugeh¨rige Eintrag in der Ansicht aus-
    u                                                  o
gew¨hlt. Die Abbildung 2.3 auf Seite 28 zeigt eine typische Ansicht im CodeSnippets
    a
Fenster.




                       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                           o



Codeblocks                                                                           28
CodeBlocks V1.1                                                   2.3 Incremental Search


2.3 Incremental Search
F¨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-
                                        u
tenk¨rzel Ctrl-I wird diese Suchmethode f¨r eine ge¨ffnete Datei eingeleitet. Dabei wird
    u                                     u         o
dann automatisch der Focus auf die Suchmaske der zugeh¨rigen Werkzeugleiste gesetzt.
                                                          o
Wenn Sie mit der Eingabe eines Begriffes beginnen, wird abh¨ngig von dem Vorkommen
                                                            a
der Hintergrund der Suchmaske hinterlegt. Sobald ein Treffer im aktiven Editor gefunden
wird, erscheint diese Stelle farblich markiert. Standardm¨ßig wird der aktuelle Treffer
                                                         a
gr¨n hervorgehoben. Die Einstellungen hierf¨r k¨nnen im Men¨ ’Settings’ →’ Editor’ →’
  u                                         u o              u
Incremental Search’ ge¨ndert werden (siehe ?? auf Seite ??). Durch Bet¨tigen der Re-
                        a                                                a
turn Taste wird zum n¨chsten Vorkommen des Suchbegriffes gesprungen. Mit Shift-Return
                      a
kann zum vorherigen Vorkommen navigiert werden. Diese Funktionalit¨t wird jedoch bei
                                                                     a
Suchen mit regul¨ren Ausdr¨cken in Scintilla nicht unterst¨tzt.
                 a           u                            u




Wird der Suchbegriff in der aktiven Datei jedoch nicht gefunden, wird dies durch rotes
Hinterlegen der Suchmaske signalisiert.
ESC Verl¨sst den Incremental Search Modus.
        a
ALT-DELETE L¨scht den Inhalt f¨r die Eingabe von Incremental Search.
            o                 u
Die 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 im

Codeblocks                                                                            29
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 List
F¨r komplexe Software-Projekte, an denen unterschiedliche Benutzer arbeiten, hat man
  u
h¨ufig die Anforderung, dass zu erledigende Arbeiten von unterschiedlichen Usern umzu-
 a
setzen sind. F¨r dieses Problem bietet CodeBlocks eine Todo List. Diese Liste, zu ¨ffnen
              u                                                                   o
unter ’View’ →’To-Do list’ , enth¨lt die zu erledigenden Aufgaben mit Priorit¨ten, Typ
                                 a                                            a
und zust¨ndige User. Dabei kann die Ansicht nach zu erledigenden Aufgaben nach Be-
         a
nutzer und/oder Quelldatei gefiltert werden. Eine Sortierung nach Spalten erh¨lt der
                                                                                 a
Benutzer 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                                  a

Ein 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-
                    u
gew¨hlten Quellzeile eingef¨gt.
    a                       u
// TODO (user#1#): add new dialog for next release

Beim Hinzuf¨gen eines To-Do erhalten Sie einen Eingabedialog mit folgenden Einstellun-
            u
gen (siehe Abbildung 2.5 auf Seite 31).

Codeblocks                                                                          30
CodeBlocks V1.1                                               2.5 Source Code Exporter




                     Abbildung 2.5: Dialog f¨r Eingabe von ToDo
                                            u

User 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.
              a
Priority 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.
                               u
Comment Style Auswahl der Formatierung f¨r Kommentare (zum Beispiel doxygen).
                                        u

2.5 Source Code Exporter
Oft ergibt sich die Notwendigkeit, den Quelltext in andere Anwendungen oder in Emails
zu 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                    u
datei 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                          a
Die jeweilige Dateiendung wird durch das Exportformat bestimmt. Es stehen folgende
Formate zur Verf¨gung.
                  u

Codeblocks                                                                          31
CodeBlocks V1.1                                                      2.6 Thread Search


html 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      a
odt 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
                                           a
der Messages Console ein- und ausblenden. In CodeBlocks kann mit diesem Plugin eine
Vorschau f¨r das Auftreten einer Zeichenkette in einer Datei, Workspace oder Verzeich-
           u
nis angezeigt werden. Dabei wird die Liste der Suchergebnisse in der rechten Seite der
ThreadSearch Console angezeigt. Durch Anklicken eines Eintrages in der Liste wird auf
der linken Seite eine Vorschau angezeigt. Durch einen Doppelklick in der Liste wird die
ausgew¨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 Features
ThreadSearch 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 Panel


Codeblocks                                                                          32
CodeBlocks V1.1                                                       2.6 Thread Search


2.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.
                o

2.6.3 Einstellungen
Der Knopf ’Options’ ¨ffnet den Dialog f¨r die Konfiguration des ThreadSearch plugin (see
                    o                 u
Abbildung 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
CodeBlocks V1.1                                                      2.6 Thread Search




                    Abbildung 2.7: Konfiguration von Thread Search


2.6.4 Optionen
Whole word Diese Einstellung gibt in den Suchergebnisse nur die Begriffe zur¨ck, die
                                                                           u
    exakt dem Eintrag f¨r die Suche entsprechen.
                       u
Start word Sucht alle Begriffe die mit Eintrag der Suche beginnen..
Match case Ber¨cksichtigt Groß- und Kleinschreibung bei der Suche.
              u
Regular 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 search
Enable ’Find occurrences contextual menu item’ F¨gt den Eintrag ’Find occurrences
                                                  u
     of ’Focused word” im Kontextmen¨ im Editor hinzu.
                                    u
Use default options when running ’Find occurrences’ Diese Einstellung ubernimmt die
                                                                      ¨

Codeblocks                                                                         34
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.
                o

2.6.6 Layout
Display 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.
                     a
Draw lines between columns Anzeigen von Linien zwischen den Spalten im List Mode.
Show ThreadSearch toolbar Anzeige der Symbolleiste f¨r das Thread Search plugin.
                                                    u
Show 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                                          u
Show 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 Management
F¨r das Verwalten des ThreadSearch Fenster stehen zwei Alternativen zur Auswahl. Mit
  u
der 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
                                               o
Konsole l¨sen und als freies Fenster anordnen.
         o


Codeblocks                                                                            35
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

Weitere ähnliche Inhalte

Ähnlich wie Codeblocks manual de_2012

03 DocPublisher - Dokumente Erstellen
03 DocPublisher - Dokumente Erstellen03 DocPublisher - Dokumente Erstellen
03 DocPublisher - Dokumente ErstellenNotes IT
 
Abläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenAbläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenChristian Münch
 
Umfangreiche Dokumente effizient formatieren
Umfangreiche Dokumente effizient formatierenUmfangreiche Dokumente effizient formatieren
Umfangreiche Dokumente effizient formatierenDigicomp Academy AG
 
Anforderungsanalsyse - Prototyping mit JavaScript
Anforderungsanalsyse - Prototyping mit JavaScriptAnforderungsanalsyse - Prototyping mit JavaScript
Anforderungsanalsyse - Prototyping mit JavaScriptChristian Baranowski
 
Docker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtDocker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtB1 Systems GmbH
 
Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11Noël Bossart
 
In den sicheren Hafen jax2020
In den sicheren Hafen jax2020In den sicheren Hafen jax2020
In den sicheren Hafen jax2020Stephan Kaps
 
Dokumentation schreiben kann spass machen
Dokumentation schreiben kann spass machenDokumentation schreiben kann spass machen
Dokumentation schreiben kann spass machenSebastian Hempel
 
openFrameworks workshops_07122013_erst
openFrameworks workshops_07122013_erstopenFrameworks workshops_07122013_erst
openFrameworks workshops_07122013_erstJeongHo Park
 
CSS Basics and Box Model // MM 08-11
CSS Basics and Box Model // MM 08-11CSS Basics and Box Model // MM 08-11
CSS Basics and Box Model // MM 08-11Noël Bossart
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 

Ähnlich wie Codeblocks manual de_2012 (20)

Sitecore. Ready to Start. Software Engineer
Sitecore. Ready to Start. Software EngineerSitecore. Ready to Start. Software Engineer
Sitecore. Ready to Start. Software Engineer
 
C++ kompakt
C++ kompaktC++ kompakt
C++ kompakt
 
Handout zur Mendeley-Schulung
Handout zur Mendeley-SchulungHandout zur Mendeley-Schulung
Handout zur Mendeley-Schulung
 
03 DocPublisher - Dokumente Erstellen
03 DocPublisher - Dokumente Erstellen03 DocPublisher - Dokumente Erstellen
03 DocPublisher - Dokumente Erstellen
 
Abläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenAbläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisieren
 
Umfangreiche Dokumente effizient formatieren
Umfangreiche Dokumente effizient formatierenUmfangreiche Dokumente effizient formatieren
Umfangreiche Dokumente effizient formatieren
 
Bit WiSe 2013 | Basisinformationstechnologie I - 08: Programmiersprachen I
Bit WiSe 2013 | Basisinformationstechnologie I - 08: Programmiersprachen IBit WiSe 2013 | Basisinformationstechnologie I - 08: Programmiersprachen I
Bit WiSe 2013 | Basisinformationstechnologie I - 08: Programmiersprachen I
 
Anforderungsanalsyse - Prototyping mit JavaScript
Anforderungsanalsyse - Prototyping mit JavaScriptAnforderungsanalsyse - Prototyping mit JavaScript
Anforderungsanalsyse - Prototyping mit JavaScript
 
Docker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtDocker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemacht
 
Fly2pdf
Fly2pdfFly2pdf
Fly2pdf
 
Einfuehrung in mongo_db_iks
Einfuehrung in mongo_db_iksEinfuehrung in mongo_db_iks
Einfuehrung in mongo_db_iks
 
Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11
 
CMS Kurs-Glossar
CMS Kurs-GlossarCMS Kurs-Glossar
CMS Kurs-Glossar
 
In den sicheren Hafen jax2020
In den sicheren Hafen jax2020In den sicheren Hafen jax2020
In den sicheren Hafen jax2020
 
Dokumentation schreiben kann spass machen
Dokumentation schreiben kann spass machenDokumentation schreiben kann spass machen
Dokumentation schreiben kann spass machen
 
openFrameworks workshops_07122013_erst
openFrameworks workshops_07122013_erstopenFrameworks workshops_07122013_erst
openFrameworks workshops_07122013_erst
 
CSS Basics and Box Model // MM 08-11
CSS Basics and Box Model // MM 08-11CSS Basics and Box Model // MM 08-11
CSS Basics and Box Model // MM 08-11
 
Release 5.7.0 Recherche Client
Release 5.7.0 Recherche ClientRelease 5.7.0 Recherche Client
Release 5.7.0 Recherche Client
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
Vorschau auf Drupal 8
Vorschau auf Drupal 8Vorschau auf Drupal 8
Vorschau auf Drupal 8
 

Codeblocks manual de_2012

  • 1. CodeBlocks Manual Version 1.1 Thanks to the CodeBlocks team: Anders F. Bj¨rklund (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 (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 terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
  • 2. 1 CodeBlocks Projektverwaltung Die Dokumentation f¨r Kapitel 3 auf Seite 55 und ?? auf Seite ?? sind offizielle Doku- u mentationen der CodeBlocks Wiki-Seite und nur in englischer Sprache verf¨gbar. u Die nachfolgende Abbildung zeigt den Aufbau der CodeBlocks Oberfl¨che. a Abbildung 1.1: IDE CodeBlocks Management 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. o Open files list Zeigt die Liste der im Editor ge¨ffneten Dateien an, hier hello.c. o CodeSnippets L¨sst sich uber das Men¨ ’View’ →’CodeSnippets’ anzeigen. Hier k¨nnen a ¨ u o Textbausteine, Verkn¨pfungen auf Dateien und Urls verwaltet werden. u Logs & others Fenster zur Ausgabe von Suchergebnisse, Logmeldung eines Compilers etc.
  • 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 Text geht nur auf einige Besonderheiten der Projektverwaltung ein. 1.1 Projektansicht In CodeBlocks werden Quellen und die Einstellungen f¨r den Builtprozess in einer Projekt- u datei <name>.cbp gespeichert. Ein Projekt besteht typischerweise aus C/C++ Quellen und zugeh¨rige Header Dateien. Ein neues Projekt legen Sie am einfachsten an, indem Sie o das Men¨ ’File’ →’Project’ ausf¨hren und einen Wizard ausw¨hlen. Anschließend k¨nnen u u a o Sie im Management Fenster uber das Kontextmen¨ ’Add files’ Dateien zum Projekt hin- ¨ u zuf¨gen. In CodeBlocks werden die Projektdateien abh¨ngig von ihrer Dateiendung in u a Kategorien verwalten. Die voreingestellen Kategorien sind f¨r 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
  • 4. CodeBlocks V1.1 1.2 Notizen f¨r Projekte u Resources 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 o auch eigene Kategorien f¨r Dateiendungen angelegt werden. Wenn Sie z.B. Linkerskripte u mit der Endung *.ld unter der Kategorie Linkerscript anzeigen m¨chten, legen Sie o einfach 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 o eine 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 Reiter Notes aktiviert bzw. deaktiviert werden. 1.3 Projektvorlagen CodeBlocks wird mit einer Vielzahl von Projektvorlagen ausgeliefert, die beim Anlegen eines neuen Projektes angezeigt werden. Es ist aber auch m¨glich, eigene Vorlagen zu spei- o chern und somit eigene Vorgaben f¨r Compilerschalter, wie zu verwendete Optimierung, u maschinenspezifische Schalter etc. in Vorlagen zusammenzufassen. Diese werden im Ver- zeichnis Dokumente und Einstellungen<user>AnwendungsdatencodeblocksUserTemplates abgelegt. Wenn die Vorlagen f¨r alle Benutzer zug¨nglich sein sollen, m¨ssen die Vorla- u a u gen in zugeh¨riges Verzeichnis der CodeBlocks Installation kopiert werden. Diese Vorlagen o erscheinen dann beim n¨chsten Start von CodeBlocks unter ’New’ →’ Project’ →’User a templates’ . 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 erstellen In 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 eigenst¨ndiges Projekt ausgelagert werden, daf¨r selektieren a u Sie in ’Project’ →’Properties’ den Reiter ’Build Targets’ die Variante und w¨hlen Sie a Schaltfl¨che ’Create project from target’ (siehe Abbildung 1.2 auf Seite 4). a Codeblocks 3
  • 5. CodeBlocks V1.1 1.5 Virtual Targets Abbildung 1.2: Build Targets 1.5 Virtual Targets Mit sogenannten Virtual Targets k¨nnen Projekte in CodeBlocks weiter strukturiert wer- o den. Eine h¨ufige Projektstruktur besteht aus zwei Build Targets. Einem Target ’Debug’ a mit Debuginformation und einem anderen Target ’Release’ ohne diese Information. Durch Hinzuf¨gen von Virtual Targets unter ’Project’ →’Properties’ →’Build Targets’ k¨nnen 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 Schritte CodeBlocks erm¨glicht es, weitere Arbeitschritte vor oder nach der Compilierung eines o Projektes durchzuf¨hren. 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
  • 6. CodeBlocks V1.1 1.7 Hinzuf¨gen von Scripts in Build Targets u Ein weiteres Beispiel f¨r ein Postbuilt Step kann die Archivierung eines Projektes sein. u Hierzu erstellen Sie ein Build Target ’Archive’ und tragen im Postbuilt Step folgende Anweisung ein zip -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 Ausf¨hren des Targets ’Archive’ u die gepackte Datei. In dem Verzeichnis share/codeblocks/scripts finden Sie einige Beispiele f¨r Skripte. u Ein Skript kann uber das Men¨ ’Settings’ →’Scripting’ hinzugef¨gt und in ein Men¨ ein- ¨ u u u getragen werden. Wenn Sie ein Skript z.B. make dist uber ein Men¨ ausf¨hren, werden ¨ u u alle Dateien, die zum einem aktiven Projekt geh¨ren in ein Archiv <project>.tar.gz o komprimiert. 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 u den, auch in Skripten zu verwenden. Mit dem Skript entsteht somit ein zus¨tzlicher Frei- a heitsgrad um die Generierung Ihres Projektes zu steuern. Hinweis: Ein Skript kann auch bei einem Build Target angegeben werden. 1.8 Workspace und Project Dependencies In CodeBlocks k¨nnen Sie mehrere Projekte ge¨ffnet halten. Durch speichern der ge¨ffne- o o o ten Projekte uber ’File’ →’Save workspace’ werden diese in einem Arbeitsbereich unter ¨ <name>.workspace zusammengefasst. Wenn Sie beim n¨chsten Start von CodeBlocks a den Arbeitsbereich <name>.workspace ¨ffnen erscheinen wieder alle Projekte. o Komplexe 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. a Beispiel Ein Projekt A enth¨lt zentrale Funktionen, die auch anderen Projekten in Form einer a Bibliothek zug¨nglich gemacht werden. Wenn nun diese Quellen eines Projektes ge¨ndert 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 imple- mentiert, gewahrt bleibt, muss Projekt B von Projekt A abh¨ngen. Die Information f¨r a u die Abh¨ngigkeit von Projekten wird im jeweiligen Workspace gespeichert, damit jedes a Projekt weiterhin einzeln erzeugt werden kann. Durch die Verwendung von Abh¨ngigkei- a ten kann auch die Reihenfolge bei der Generierung von Projekten gesteuert werden. Die Abh¨ngigkeiten f¨r Projekte werden uber den Men¨eintrag ’Project’ →’Properties’ und a u ¨ u Auswahl der Schaltfl¨che ’Project’s dependencies’ gesetzt. a Codeblocks 5
  • 7. CodeBlocks V1.1 1.9 Einbinden von Assembler Dateien 1.9 Einbinden von Assembler Dateien In der Projektansicht (Project View) im Fenter Management werden Assembler Dateien im Kategorie ASM Sources aufgef¨hrt. 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 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 Sie die 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 $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 <asopt> durch Ihre Einstellungen ersetzen brauchen. 1.10 Editor und Hilfsmittel 1.10.1 Default Code Durch vorgegebene Coding Rules im Unternehmen m¨ssen Quelldateien einen einheit- u lichen Aufbau vorweisen. CodeBlocks bietet die M¨glichkeit, beim Anlegen von neuen o C/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 u hierf¨r kann unter ’Stettings’ →’Editor’ Default Code vorgenommen werden. Wenn eine u neue Datei angelegt wird, dann wird eine Makroaufl¨sung von Variablen, die zum Beispiel o uber das Men¨ ’Settings’ →’Global variables’ definiert wurden, durchgef¨hrt. 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
  • 8. CodeBlocks V1.1 1.10 Editor und Hilfsmittel 1.10.2 Abbreviation Durch Definition von Abk¨rzung in CodeBlocks kann einiges an Schreibarbeit und Zeit u gespart werden. Hierzu werden in ’Settings’ →’Editor’ sogenannte Abbreviations unter dem Namen <name> angelegt, die uber das Tastenk¨rzel Ctrl-J aufgerufen werden (siehe ¨ u Abbildung 1.3 auf Seite 7). Abbildung 1.3: Definition von Abk¨rzungen u Durch Einf¨gen von Variablen $(NAME) in den Abk¨rzungen ist auch eine Parametrisie- u u rung 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 u Inhalt der Variablen abgefragt und eingef¨gt. u 1.10.3 Personalities CodeBlocks Einstellungen werden als Anwendungsdaten im Verzeichnis codeblocks in einer Datei <user>.conf gespeichert. Diese Konfigurationsdatei enth¨lt Informationen a wie beispielsweise zuletzt ge¨ffnete Projekte, Einstellungen f¨r Editor, Anzeige von Sym- o u bolleisten etc. Standardm¨ßig ist die Personality ’default’ eingestellt, so dass die Konfi- a 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
  • 9. CodeBlocks V1.1 1.10 Editor und Hilfsmittel in 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 u de Arbeitsschritte auch zugeh¨rige Profile gespeichert werden. Wenn Sie CodeBlocks mit o dem zus¨tzlichen Parameter --personality=ask starten erscheint ein Auswahldialog f¨r a u die verf¨gbaren Profile. u Hinweis: Der Name des aktuell verwendeten Profils/Personality wird rechts in der Statusbar angezeigt. 1.10.4 Konfigurationsdateien Die Einstellungen f¨r CodeBlocks werden im Profil default.conf im Ordner codeblocks u in Ihren Anwendungsdaten gespeichert. Bei Verwendung von personalities (siehe Unter- abschnitt 1.10.3 auf Seite 7 werden die Konfiguration in der Datei <personality>.conf abgelegt. Mit dem Werkzeug cb share conf, aus dem CodeBlocks Installationsverzeichnis, k¨nnen o diese Einstellungen verwaltet und gesichert werden. Falls Sie Standardeinstellung f¨r mehrere Benutzer eines PCs vorgeben m¨chten, muss die u o Konfigurationsdatei default.conf im Ordner Dokumente und EinstellungenDefault UserAnwendungsdatencodeblocks 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 Konfigurationsdatei default.conf in dieses Verzeichnis. Die Konfiguration wird als globale Einstellung verwendet. Bitte achten Sie darauf, dass die Datei schreibbar sein ¨ muss, damit Anderungen in der Konfiguration auch gespeichert werden k¨nnen.o 1.10.5 Navigieren und Suchen In CodeBlocks existieren unterschiedliche M¨glichkeiten zum schnellen Navigieren zwi- o schen 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 u einer Quelldatei gesetzt bzw. gel¨scht. Mit (Alt-PgUp) wird zum vorherigen Lesezeichen o gesprungen und mit (Alt-PgDn) zum n¨chsten gewechselt. a In der Projektansicht k¨nnen Sie durch Ausw¨hlen eines Projektes oder im gesamten o a Workspace uber das Kontextmen¨ ’Find file’ in einem Dialog einen Dateinamen angeben. ¨ u Dieser wird anschließend in der Projektansicht markiert und durch Eingabe mit Return im Editor ge¨ffnet (siehe Abbildung 1.4 auf Seite 9). o F¨r das schnelle Navigieren zwischen Header/Quelle Dateien bietet CodeBlocks folgende u M¨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. 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 Datei CodeBlocks bietet verschiedene M¨glichkeiten f¨r die Suche in einer Datei oder in Ver- o u zeichnissen. Mit dem ’Search’ →’Find’ (Ctrl-F) oder ’Find in Files’ (Ctrl-Shift-F) ¨ffnet o sich der Dialog f¨r die Suche. u Eine weitere komfortable Funktion bietet das Tastenk¨rzel Alt-G und Ctrl-Alt-G. Der sich u o ¨ffnende Dialog erlaubt die Auswahl von Dateien/Funktionen und springt anschließend an die Implementierung der Funktion (siehe Abbildung 1.6 auf Seite 10) bzw. ¨ffnete die o ausgew¨hlte Datei. Als Eingabe werden auf Wildcards ∗ oder ? etc. f¨r eine inkrementelle a u Suche 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. a Wenn Sie sich im Editor Fenster befinden, ¨ffnet sich mit Ctrl-Tab ein zus¨tzliches Open o a Files Dialog und es kann zwischen den Eintr¨gen der zu ¨ffnenden Dateien gewechselt a o werden. Bei gedr¨ckter Ctrl-Taste kann eine Auswahl auf unterschiedliche Weise erfolgen: u Codeblocks 9
  • 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 o Eine h¨ufige 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 k¨nnen 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 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 Symbolansicht F¨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 a G¨ltigkeitsbereich (Scope) der Ansicht auf die aktuelle Datei oder Projekt oder den ge- u samten Arbeitsbereich einstellen. Codeblocks 10
  • 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. u Global 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. a Global macros Listet Makros von Pr¨prozessor Direktiven auf. a Abbildung 1.7: Symbolansicht Strukturen und Klassen werden unterhalb im ’bottom tree’ angezeigt und die Sortierung kann uber das Kontextmen¨ ge¨ndert werden. Wenn eine Kategorie mit der Maus an- ¨ u a gew¨hlt wird, erscheinen die gefundenen Symbole in dem unteren Teil des Fensters (siehe a Codeblocks 11
  • 13. CodeBlocks V1.1 1.10 Editor und Hilfsmittel Abbildung 1.7 auf Seite 11). Ein Doppelklick auf das Symbol ¨ffnet die Datei, wo das o Symbol definiert bzw. die Funktion implementiert ist und springt an die zugeh¨rige Zeile. o Die Symbolansicht wird beim Speichern einer Datei aktualisiert. Eine Auto-Refresh des Symbolbrowsers ohne Speichern ist uber das Men¨ ’Settings’ →’Editor’ →’Code Comple- ¨ u tion’ aktivierbar (siehe Abbildung 1.8 auf Seite 12). Bei Projekten mit vielen Symbolen wird 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 Hilfen Die Entwicklungsumgebung CodeBlocks unterst¨tzt das Einbinden von externen Hilfen u uber das Men¨ ’Settings’ →’Environment’ . F¨gen Sie ein Manual Ihrer Wahl im chm ¨ u u Format 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 u einen Begriff der im Editor markiert wird. Nun k¨nnen Sie in CodeBlocks in einer ge¨ffne- o o ten Quelldatei eine Funktion mit der Maus durch Doppelklick markieren und anschließend die Hilfe mit F1 aufrufen und erhalten die zugeh¨rige Dokumentation. o Wenn Sie mehrere Hilfedateien einbinden, k¨nnen Sie im Editor einen Begriff markieren o und anschließend uber das Kontextmen¨ ’Locate in’ die Hilfedatei ausw¨hlen, in der ¨ u a CodeBlocks suchen soll. In CodeBlocks werden auch die Hilfe mit man pages unterst¨tzt. Hier f¨gen 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 k¨nnen einfache HTML- o Dateien in CodeBlocks angezeigt und f¨r Suchen genutzt werden. Konfigurieren Sie ein- u fach 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. 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. CodeBlocks V1.1 1.11 Tips zum Arbeiten mit CodeBlocks 1.10.8 Einbinden von externen Werkzeugen Die 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 u auf Built-in Variables (see Abschnitt 3.2 auf Seite 56) zugegriffen werden. Des weiteren existieren f¨r 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 ge¨ffnet o bleiben sollen, ist die Option ’Launch tool visible detached’ einzustellen. 1.11 Tips zum Arbeiten mit CodeBlocks In diesem Kapitel werden Ihnen einige n¨tzliche Einstellungen in CodeBlocks vorgestellt. u ¨ 1.11.1 Anderungen im Editor verfolgen CodeBlocks bietet die M¨glichkeit ge¨nderte Stellen eines Quellcodes im Vergleich zu ei- o a ner 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 ¨ u changed line’ oder ’Search’ →’Goto previous changed line’ m¨glich. Standardm¨ßig sind o a hierf¨r die Tastenk¨rzel Ctrl-F3 und Ctrl-Shift-F3 konfiguriert. 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 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 Anwendungen Zwischen CodeBlocks und anderen Anwendungen k¨nnen Daten dynamisch ausgetauscht o werden. Diese Interprozess Kommuikation wird unter Windows auf DDE (Dynamic Data Codeblocks 14
  • 16. 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 k¨nnen an CodeBlocks Kommandos mit der folgenden Syntax o weitergegeben werden. [<command>("<parameter>")] Als Kommandos stehen zur Verf¨gung: u Open 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 Umgebungsvariablen Die Konfiguration f¨r ein Betriebssystem wird durch sogenannte Umgebungsvariablen u festgelegt. Zum Beispiel enth¨lt die Umgebungsvariablen PATH den Pfad auf einen in- a stallierten Compiler. Das Betriebssystem geht diese Umgebungsvariable von vorne nach hinten durch, d.h. die Eintr¨ge am Ende werden als letztes durchsucht. Wenn nun unter- a schiedliche Versionen eines Compilers oder anderer Anwendungen installiert sind, k¨nnen o nun folgende Situationen auftreten: • Die falsche Version einer Software wird aufgrufen • Installierte Softwarepakete st¨ren sich gegenseitig o Es k¨nnte zum Beispiel notwendig sein, dass f¨r unterschiedliche Projekte unterschiedliche o u Versionen eines Compilers oder anderer Werkzeugen vorgeschrieben sind. Eine M¨glich- o keit ist die Umgebungsvariablen in der Systemsteuerung jeweils f¨r ein Projekt zu ¨ndern. u a Diese Vorgehensweise ist jedoch fehleranf¨llig und nicht flexibel. F¨r diese Anforderung a u bietet CodeBlocks eine elegante L¨sung. Es lassen sich hier unterschiedliche Konfiguratio- o nen von Umgebungsvariablen erstellen, die nur intern in CodeBlocks verwendet werden. Zus¨tzlich kann zwischen diesen Konfiguration 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 Konfiguration wird uber die¨ a ¨ Schaltfl¨che ’Create’ erzeugt. Die Ubernahme der hinzugef¨gten Umgebungsvariablen er- u folgt durch Best¨tigen des OK Knopfes. Das Aktivieren einer Konfiguration erfolgt uber a ¨ den Knopf Set Now. Codeblocks 15
  • 17. CodeBlocks V1.1 1.11 Tips zum Arbeiten mit CodeBlocks Abbildung 1.12: Umgebungsvariablen Der Zugriff und der G¨ltigkeitkeitbereich auf die hier erstellten Umgebungsvariablen ist u auf CodeBlocks begrenzt. Sie k¨nnen diese Umgebungsvariablen wie auch andere Code- o Blocks Variablen uber $(NAME) expandieren. ¨ Hinweis: Eine Konfiguration von Umgebungsvariable l¨sst sich pro Projekt im a Kontextmen¨ ’Properties’ im Reiter ’EnvVars options’ selektieren. u Beispiel Sie k¨nnen die verwendete Umgebung in einem postbuild Step (siehe Abschnitt 1.6 auf o Seite 4) in einer Datei <project>.env schreiben und zu Ihrem Projekt archivieren. cmd /c echo %PATH% > project.env oder unter Linux echo $PATH > project.env 1.11.4 Umschalten zwischen Perspektiven Abh¨ngig von der Aufgabenstellung ist es sinnvoll unterschiedliche Konfigurationen oder a Ansichten in CodeBlocks zu haben und diese zu speichern. Standardm¨ßig werden die a Einstellungen wie z.B. Anzeige von Symbolleisten, Layout etc. in der Konfigurationsdatei default.conf gespeichert. Durch die Verwendung der Kommandozeilenoption --personality=ask beim Start von CodeBlocks kann zwischen verschiedenen Einstellungen umgeschaltet wer- den. Neben dieser globalen Einstellung besteht jedoch h¨ufig auch der Wunsch w¨hrend a a einer Session zwischen Ansichten f¨r Fenster und Symbolleisten zu wechseln. Zwei typi- u sche Szenarien sind z.B. das Editieren von Dateien oder das Debuggen eines Projektes. Codeblocks 16
  • 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- a leisten 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 o nun 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. u 1.11.5 Umschalten zwischen Projekten Wenn mehrere Projekte oder Dateien gleichzeitig ge¨ffnet sind, so will der Benutzer h¨ufig o a zwischen den Projekten und Dateien schnell wechseln k¨nnen. CodeBlocks stellt hierf¨r o u eine Reihe an Shortcuts zur Verf¨gung. u Alt-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>.h 1.11.6 Erweitere Einstellung f¨r Compiler u Beim Buildprozess eines Projektes werden die Ausgaben des Compilers in Fenster Mes- sages im Reiter Build Log ausgegeben. Wenn Sie an detaillierten Information interessiert sind, kann die Ausgabe erweitert werden. Dazu w¨hlen Sie unter ’Settings’ →’Compiler a and Debugger’ im Reiter ’Other Settings’. Achten Sie darauf, dass beim Eintrag Selected Compiler der gew¨nschte Compiler ein- u gestellt ist. Die Einstellung ’Full command line’ im Feld Compiler Logging gibt die vollst¨ndige Information im Build Log aus. Zus¨tzlich kann diese Ausgabe in eine HTML- a a Datei 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 build progress bar’. 1.11.7 Zoom im Editor CodeBlocks bietet einen sehr leistungsf¨higen Editor. Eine Besonderheit ist, dass Sie in- a nerhalb einer ge¨ffneten Datei die Darstellung vergr¨ßern und verkleinern k¨nnen. Wenn o o o Sie eine Maus mit einem Scrollrad haben, halten Sie einfach die Ctrl-Taste gedr¨ckt und u scrollen im Editor uber das Rad nach vorne oder hinten. ¨ Codeblocks 17
  • 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. o 1.11.8 Wrap Mode F¨r das Editieren von Textdateien z.B. *.txt innerhalb CodeBlocks ist es n¨tzlich den u u Eingabetext 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 a Men¨ ’Settings’ →’Editor’ →’Other Options’ und mit der Checkbox ’Word wrap’ aktivie- u 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 first 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 gew¨nscht ist, muss stattdessen die Tastenkombination u ’Atl-Home/Pos 1’ gedr¨ckt werden. Entsprechendes gilt f¨r ’Alt-End/Ende’ . u u 1.11.9 Select Modes im Editor CodeBlocks unterst¨tzt im Editor verschiedene Modes f¨r Selektion und Einf¨gen von u u u Text. Codeblocks 18
  • 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 folding CodeBlocks unterst¨tzt ein sogenanntes Folding f¨r 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 k¨nnen 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 f¨r das Folding und eine Grenze f¨r die Folding-Tiefe kann u u im Men¨ ’Settings’ →’Editor’ →’Folding’ ge¨ndert werden. u a Codeblocks 19
  • 21. CodeBlocks V1.1 1.11 Tips zum Arbeiten mit CodeBlocks Neben dem Folding f¨r Funktionen kann die Funktionalit¨t auch f¨r Pr¨prozessor Direk- u a u a tiven eingestellt werden. Aktivieren Sie hierf¨r die Option ’Fold preprocessor commands’ u im Men¨ ’Settings’ →’Editor’ unter dem Eintrag Folding. u Eine weitere M¨glichkeit ist benutzerdefinierte Folding Punkte zu definieren, indem ein o Kommentarzeichen durch eine ge¨ffnete Klammer den Anfang und ein Kommentar mit o schließ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- u piler 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 o dem Parsen gewonne Information uber Symbole kann f¨r die sogenannte Auto completion ¨ u genutzt werden, wenn diese in den Einstellungen des Editors f¨r CodeBlocks aktiviert ist. u Die Auto completion k¨nnen Sie im Editor uber das Tastenk¨rzel Ctrl-Space ausf¨hren. o ¨ u u Im Men¨ ’Settings’ →’Editor’ →’Syntax highlighting’ k¨nnen eigene keywords zum Lexer u o hinzugef¨gt werden. u 1.11.12 Find broken files Wenn 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 einem unterbrochenem Symbol in der Project View von CodeBlocks angezeigt. Das Entfernen einer Datei sollte in der Projekt View mit dem Kontextmen¨ ’Remove file from project’ u vorgenommen werden. Bei gr¨ßeren Projekten mit vielen Unterordnern kann die Suchen nach ’broken files’ sehr o schwierig 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 o eingeben und als Option ’Project files’ oder ’Workspace files’ w¨hlen, wird ThreadSearch a alle Dateien eines Projektes durchsuchen; falls ein ’broken file’ im Projekt oder Workspace vorkommt, wird als Fehler diese Datei gemeldet. 1.11.13 Einbinden von Bibliotheken In den Builtoption eines Projektes k¨nnen Sie unter ’Linker Settings’ im Eintrag ’Link o libraries’ uber die Schaltfl¨che ’Add’ verwendete Bibliotheken hinzuf¨gen. Dabei k¨nnen ¨ a u o Codeblocks 20
  • 22. CodeBlocks V1.1 1.11 Tips zum Arbeiten mit CodeBlocks Sie entweder den absoluten Pfad zur Bibliothek durchsuchen oder nur den Namen ohne den Prefix lib und die Dateiendung angeben. Beispiel F¨r eine Bibliothek <path>libslib<name>.a geben Sie einfach <name> an. Der u Linker 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 Objekten Beim 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 denu Embedded Bereiche name.elf. In einigen F¨llen ist es w¨nschenswert die Reihenfolge a u f¨r das Binden von Objekten vorzugeben. In CodeBlocks kann dies durch die Vergabe u von 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 a des Objekts dazu, dass es zu erst gebunden wird. 1.11.15 Autosave CodeBlocks bietet die M¨glichkeit Projekte und Quelldateien automatisch zu speichern o bzw. 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 u einer Sicherungskopie eingestellt werden. 1.11.16 Einstellen f¨r Dateizuordnungen u In CodeBlocks k¨nnen Sie zwischen verschiedenen Arten der Behandlung von Dateien- o dungen 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 o associated application) f¨r entsprechende Dateiendungen verwenden oder f¨r jede Datei- u u endungen die Einstellungen so andern, dass entweder ein benutzerdefiniertes Programm ¨ (launch an external program) gestartet wird oder die Datei in Editor von CodeBlocks ge¨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. CodeBlocks V1.1 1.12 CodeBlocks in der Kommandozeile 1.12 CodeBlocks in der Kommandozeile Die IDE CodeBlocks kann auch ohne grafische Oberfl¨che in der Kommandozeile aus- a gef¨hrt werden. Dabei stehen unterschiedliche Schalter zur Verf¨gung um den Buildpro- u u zess eines Projektes zu steuern. Da CodeBlocks somit skriptf¨hig ist, kann die Erzeugung a von Exectutables in eigene Arbeitsabl¨ufe integriert werden. a codeblocks.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. CodeBlocks V1.1 1.13 Shortcuts 1.13 Shortcuts Auch 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- u binationen 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-PgDown This is a list of shortcuts provided by the CodeBlocks editor component. These shortcuts cannot 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-K 1.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-W 1.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-F6 Codeblocks 23
  • 25. CodeBlocks V1.1 1.13 Shortcuts 1.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-F11 Codeblocks 24
  • 26. 2 Plugins 2.1 Astyle Artistic Style dient dem Einr¨cken, Formatieren und ’Versch¨nern’ f¨r C, C++, C# u o u Quellen. Es kann verwendet werden um unterschiedliche Coding Rules f¨r CodeBlocks u einzustellen. Abbildung 2.1: Formatierung f¨r Quellcode u Wenn Quellen einger¨ckt werden, tendieren Programmierer dazu sowohl Leerzeichen als u auch Tabulatoren einzusetzen, um die gew¨nschte Einr¨ckung zu erzielen. Dar¨berhinaus u u u gibt es auch Editoren die standardm¨ßig Tabulatoren durch eine feste Anzahl von Leer- a zeichen ersetzen. Andere Editoren versuchen den Code durch Einf¨gen von White space u lesbarer zu machen selbst wenn der Code Tabulatoren enth¨lt. a Da die Anzeige der Leerzeichen f¨r jeden Tabulator durch die Einstellungen im Editor u bestimmt ist, wirft dies immer ein Problem auf, wenn Programmierer unterschiedliche Editoren verwenden. Selbst bei gr¨ßter Sorgfalt f¨r 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# einr¨ckt und formatiert. u
  • 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 u 2.2 CodeSnippets Das Plugin CodeSnippets erm¨glicht es Textbausteine und Verkn¨pfungen auf Dateien in o u einer Baumansicht nach Kategorien zu strukturieren. Die Bausteine dienen dazu, h¨ufig a verwendete 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 a unterschiedlichen Ordnern abgelegt. Im Fenster CodeSnippets k¨nnen Sie nun Kategorien o und darunter Verkn¨pfungen auf die gew¨nschten Dateien erstellen. Damit k¨nnen Sie u u o den Zugriff auf die Dateien unabh¨ngig von der Ablage im Dateisystem verwalten und a ohne 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 o der rechten Maustaste uber das Kontextmen¨ ’Save Index’ gespeichert werden. Die dabei ¨ u erzeugte Datei codesnippets.xml befindet sich anschließend in Ihren Dokumente und EinstellungenAnwendungsdaten 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 a CodeSnippets an einen anderen Ort speichern m¨chten, selektieren Sie den Eintrag ’Save o Index As’. Zum Laden dieser Datei w¨hlen Sie beim n¨chsten Start von CodeBlocks’Load a a Index File’ oder stellen das Verzeichnis in dem Kontextmen¨ ’Settings’ unter ’Snippet u Folder’ ein. Diese Einstellungen werden in der zugeh¨rigen Datei codesnippets.ini in o den Anwendungsdaten hinterlegt. Das Einf¨gen einer Kategorie geschieht uber das Men¨ ’Add SubCategory’. In einer Ka- u ¨ u tegorie k¨nnen Snippets (Textbausteine) oder File Links (Verkn¨pfungen) liegen. Ein o u Textbaustein 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 u per Drag and Drop auf den Textbaustein ziehen, wird der Inhalt in den Textbaustein eingef¨gt. Wenn Sie einen selektierten Text auf eine Kategorie ziehen wird in diesem Ord- u ner automatisch ein Textbaustein mit dem Namen ’New snippet’ erzeugt und es ¨ffnet o sich der Properties Dialog. Durch einen Doppelklick auf den neu eingef¨gten Eintrag oder u durch Auswahl von ’Edit Text’ ¨ffnet sich ein eigenst¨ndiger 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 k¨nnen auch in o Codeblocks 26
  • 28. CodeBlocks V1.1 2.2 CodeSnippets Abbildung 2.2: Bearbeiten eines Textbausteins andere Anwendungen gezogen werden. Im CodeSnippets Browser k¨nnen Sie auch per o Drag 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 u die Werte der Variablen erfolgt uber ein Eingabefeld, wenn der Textbaustein mit dem ¨ Kontextmen¨ ’Apply’ aufgerufen wird. u Neben den Textbausteinen k¨nnen auch Verkn¨pfungen auf Dateien angelegt werden. o u Wenn Sie zuvor einen Textbaustein angelegt haben und anschließend das Kontextmen¨ ’Pro- u perties’ ausw¨hlen, selektieren Sie mit der Schaltfl¨che ’Link target’ das Ziel der Ver- a a kn¨pfung. Eine Verkn¨pfung kann auch uber das Kontextmen¨ ’Convert to FileLink’ er- u u ¨ u zeugt werden. Dieser Schritt wandelt den Textbaustein automatisch in eine Verkn¨pfung u auf eine Datei um. In CodeSnippets werden Textbausteine mit einem T-Symbol und Verkn¨pfungen auf eine Datei mit einen F-Symbol und Urls mit einem U-Symbol gekenn- u zeichnet. Falls Sie die in Codesnippets markierte Datei (Verkn¨pfung) ¨ffnen m¨chten u o o selektieren Sie im Kontextmen¨ ’Open File’ oder halten Sie die ’Alt’ Taste gedr¨ckt und u u machen 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. o Falls 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 o Viewer 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- a kn¨pfung einfach uber die gewohnten Anwendungen zuzugreifen. Der Inhalt der Co- u ¨ desnippets wird in der Datei codesnippets.xml und die Konfiguration in der Datei codesnippets.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 u personalities bezeichnet. Wenn Sie CodeBlocks mit der Kommandozeilen Option --personality=<prof starten, wird entweder ein neues angelegt oder ein existierendes Profil verwendet. Die Codeblocks 27
  • 29. CodeBlocks V1.1 2.2 CodeSnippets Einstellungen werden dann statt in default.conf in der Datei <personality>.conf in den Anwendungsdaten gespeichert. Das Plugin Codesnippets speichert seine Einstellun- gen dann in der Datei <personality>.codesnippets.ini. Wenn nun Sie in den Settings von 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 o Sie zu unterschiedlichen Profilen auch unterschiedliche Konfigurationen f¨r Textbausteine u und Verkn¨pfungen verwalten k¨nnen. u o F¨r das Navigieren zwischen den Kategorien und Snippets bietet das Plugin eine zus¨tz- u a liche Suchfunktion. Hierbei l¨sst sich auch der G¨ltigkeitsbereich (Scope) f¨r die Suche a u u auf Snippets, Categories oder Snippets and Categories einstellen. Durch Eingabe des gew¨nschten Suchbegriffes wird automatisch der zugeh¨rige Eintrag in der Ansicht aus- u o gew¨hlt. Die Abbildung 2.3 auf Seite 28 zeigt eine typische Ansicht im CodeSnippets a Fenster. 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 o Codeblocks 28
  • 30. CodeBlocks V1.1 2.3 Incremental Search 2.3 Incremental Search F¨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- u tenk¨rzel Ctrl-I wird diese Suchmethode f¨r eine ge¨ffnete Datei eingeleitet. Dabei wird u u o dann automatisch der Focus auf die Suchmaske der zugeh¨rigen Werkzeugleiste gesetzt. o Wenn Sie mit der Eingabe eines Begriffes beginnen, wird abh¨ngig von dem Vorkommen a der Hintergrund der Suchmaske hinterlegt. Sobald ein Treffer im aktiven Editor gefunden wird, erscheint diese Stelle farblich markiert. Standardm¨ßig wird der aktuelle Treffer a gr¨n hervorgehoben. Die Einstellungen hierf¨r k¨nnen im Men¨ ’Settings’ →’ Editor’ →’ u u o u Incremental Search’ ge¨ndert werden (siehe ?? auf Seite ??). Durch Bet¨tigen der Re- a a turn Taste wird zum n¨chsten Vorkommen des Suchbegriffes gesprungen. Mit Shift-Return a kann zum vorherigen Vorkommen navigiert werden. Diese Funktionalit¨t wird jedoch bei a Suchen mit regul¨ren Ausdr¨cken in Scintilla nicht unterst¨tzt. a u u Wird der Suchbegriff in der aktiven Datei jedoch nicht gefunden, wird dies durch rotes Hinterlegen der Suchmaske signalisiert. ESC Verl¨sst den Incremental Search Modus. a ALT-DELETE L¨scht den Inhalt f¨r die Eingabe von Incremental Search. o u Die 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 im Codeblocks 29
  • 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 List F¨r komplexe Software-Projekte, an denen unterschiedliche Benutzer arbeiten, hat man u h¨ufig die Anforderung, dass zu erledigende Arbeiten von unterschiedlichen Usern umzu- a setzen sind. F¨r dieses Problem bietet CodeBlocks eine Todo List. Diese Liste, zu ¨ffnen u o unter ’View’ →’To-Do list’ , enth¨lt die zu erledigenden Aufgaben mit Priorit¨ten, Typ a a und zust¨ndige User. Dabei kann die Ansicht nach zu erledigenden Aufgaben nach Be- a nutzer und/oder Quelldatei gefiltert werden. Eine Sortierung nach Spalten erh¨lt der a Benutzer 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 a Ein 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- u gew¨hlten Quellzeile eingef¨gt. a u // TODO (user#1#): add new dialog for next release Beim Hinzuf¨gen eines To-Do erhalten Sie einen Eingabedialog mit folgenden Einstellun- u gen (siehe Abbildung 2.5 auf Seite 31). Codeblocks 30
  • 32. CodeBlocks V1.1 2.5 Source Code Exporter Abbildung 2.5: Dialog f¨r Eingabe von ToDo u User 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. a Priority 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. u Comment Style Auswahl der Formatierung f¨r Kommentare (zum Beispiel doxygen). u 2.5 Source Code Exporter Oft ergibt sich die Notwendigkeit, den Quelltext in andere Anwendungen oder in Emails zu 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 u datei 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 a Die jeweilige Dateiendung wird durch das Exportformat bestimmt. Es stehen folgende Formate zur Verf¨gung. u Codeblocks 31
  • 33. CodeBlocks V1.1 2.6 Thread Search html 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 a odt 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 a der Messages Console ein- und ausblenden. In CodeBlocks kann mit diesem Plugin eine Vorschau f¨r das Auftreten einer Zeichenkette in einer Datei, Workspace oder Verzeich- u nis angezeigt werden. Dabei wird die Liste der Suchergebnisse in der rechten Seite der ThreadSearch Console angezeigt. Durch Anklicken eines Eintrages in der Liste wird auf der linken Seite eine Vorschau angezeigt. Durch einen Doppelklick in der Liste wird die ausgew¨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 Features ThreadSearch 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 Panel Codeblocks 32
  • 34. CodeBlocks V1.1 2.6 Thread Search 2.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. o 2.6.3 Einstellungen Der Knopf ’Options’ ¨ffnet den Dialog f¨r die Konfiguration des ThreadSearch plugin (see o u Abbildung 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. CodeBlocks V1.1 2.6 Thread Search Abbildung 2.7: Konfiguration von Thread Search 2.6.4 Optionen Whole word Diese Einstellung gibt in den Suchergebnisse nur die Begriffe zur¨ck, die u exakt dem Eintrag f¨r die Suche entsprechen. u Start word Sucht alle Begriffe die mit Eintrag der Suche beginnen.. Match case Ber¨cksichtigt Groß- und Kleinschreibung bei der Suche. u Regular 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 search Enable ’Find occurrences contextual menu item’ F¨gt den Eintrag ’Find occurrences u of ’Focused word” im Kontextmen¨ im Editor hinzu. u Use default options when running ’Find occurrences’ Diese Einstellung ubernimmt die ¨ Codeblocks 34
  • 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. o 2.6.6 Layout Display 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. a Draw lines between columns Anzeigen von Linien zwischen den Spalten im List Mode. Show ThreadSearch toolbar Anzeige der Symbolleiste f¨r das Thread Search plugin. u Show 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 u Show 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 Management F¨r das Verwalten des ThreadSearch Fenster stehen zwei Alternativen zur Auswahl. Mit u der 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 o Konsole l¨sen und als freies Fenster anordnen. o Codeblocks 35