2  Plugins

 2.1  Astyle
 2.2  CodeSnippets
 2.3  Incremental Search
 2.4  ToDo List
 2.5  Source Code Exporter
 2.6  Thread Search
  2.6.1  Features
  2.6.2  Verwendung
  2.6.3  Einstellungen
  2.6.4  Optionen
  2.6.5  Konfiguration von Thread search
  2.6.6  Layout
  2.6.7  Panel Management
  2.6.8  Logger Type
  2.6.9  Splitter Window Mode
  2.6.10  Sort Search Results
 2.7  FileManager und PowerShell Plugin
 2.8  Browse Tracker
 2.9  SVN Unterstützung
 2.10  LibFinder
  2.10.1  Suche nach Bibliotheken
  2.10.2  Einbinden von Bibliotheken in Projekten
  2.10.3  Verwendung von LibFinder und aus Wizards erzeugten Projekten
 2.11  AutoVersioning
  2.11.1  Einleitung
  2.11.2  Features
  2.11.3  Handhabung
  2.11.4  Dialog notebook tabs
  2.11.5  Einbinden in den Quellen
  2.11.6  Change log generator
 2.12  Code statistics
 2.13  Suche nach verfügbaren Quellencode
 2.14  Code profiler
 2.15  Symbol Table Plugin

2.1  Astyle

Artistic Style dient dem Einrücken, Formatieren und ’Verschönern’ für C, C++, C# Quellen. Es kann verwendet werden um unterschiedliche Coding Rules für CodeBlocks einzustellen.


pict

Abbildung 2.1: Formatierung für Quellcode

Wenn Quellen eingerückt werden, tendieren Programmierer dazu sowohl Leerzeichen als auch Tabulatoren einzusetzen, um die gewünschte Einrückung zu erzielen. Darüberhinaus gibt es auch Editoren die standardmäßig Tabulatoren durch eine feste Anzahl von Leerzeichen ersetzen. Andere Editoren versuchen den Code durch Einfügen von White space lesbarer zu machen selbst wenn der Code Tabulatoren enthält.

Da die Anzeige der Leerzeichen für jeden Tabulator durch die Einstellungen im Editor 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 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.

Hinweis:
Durch Kopieren von Code z.B aus dem Internet oder aus einem Manual wird in CodeBlocks der Code automatisch an die ausgewählten Coding-Rules angepasst, indem Sie den Text markieren und das Plugin über das Menü ’Plugins’ ®’Source code formatter’ ausführen.

2.2  CodeSnippets

Das Plugin CodeSnippets ermöglicht es Textbausteine und Verknüpfungen auf Dateien in einer Baumansicht nach Kategorien zu strukturieren. Die Bausteine dienen dazu, häufig 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 unterschiedlichen Ordnern abgelegt. Im Fenster CodeSnippets können Sie nun Kategorien und darunter Verknüpfungen auf die gewünschten Dateien erstellen. Damit können Sie den Zugriff auf die Dateien unabhängig von der Ablage im Dateisystem verwalten und ohne das Dateisystem zu durchsuchen schnell zwischen diesen Dateien navigieren.

Hinweis:
Sie können auch CodeBlocks Variablen oder Umgebungsvaraiblen verwenden, 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 der rechten Maustaste über das Kontextmenü ’Save Index’ gespeichert werden. Die dabei erzeugte Datei codesnippets.xml befindet sich anschließend in Ihren Dokumente und Einstellungen\Anwendungsdaten im Ordner codeblocks. Unter Linux wird diese Information im HOME-Verzeichnis im Ordner .codeblocks abgelegt. Die Konfigurationsdateien von CodeBlocks werden beim nächsten Start geladen. Falls Sie den Inhalt von CodeSnippets an einen anderen Ort speichern möchten, selektieren Sie den Eintrag ’Save Index As’. Zum Laden dieser Datei wählen Sie beim nächsten Start von CodeBlocks’Load Index File’ oder stellen das Verzeichnis in dem Kontextmenü ’Settings’ unter ’Snippet Folder’ ein. Diese Einstellungen werden in der zugehörigen Datei codesnippets.ini in den Anwendungsdaten hinterlegt.

Das Einfügen einer Kategorie geschieht über das Menü ’Add SubCategory’. In einer Kategorie können Snippets (Textbausteine) oder File Links (Verknüpfungen) liegen. Ein Textbaustein wird mit dem Kontextmenü über ’Add Snippet’ angelegt. Indem Sie einen Text im CodeBlocks Editor markieren und anschließend bei gedrückter linker Maustaste 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 Ordner automatisch ein Textbaustein mit dem Namen ’New snippet’ erzeugt und es öffnet sich der Properties Dialog. Durch einen Doppelklick auf den neu eingefügten Eintrag oder durch Auswahl von ’Edit Text’ öffnet sich ein eigenständiger Editor zum Bearbeiten des Inhaltes.


pict

Abbildung 2.2: Bearbeiten eines Textbausteins

Die Ausgabe eines Textbausteines in CodeBlocks erfolgt über das Kontextmenü ’Apply’ oder durch Drag und Drop in den Editor. Die Inhalte eines Snippets können auch in andere Anwendungen gezogen werden. Im CodeSnippets Browser können Sie auch per Drag and Drop einen Eintrag in eine andere Kategorie kopieren.

Textbausteine sind darüberhinaus auch über Variablen <name>, die über $(name) zugegriffen werden, parametrisierbar (siehe Abbildung 2.2). Die Abfrage für die Werte der Variablen erfolgt über ein Eingabefeld, wenn der Textbaustein mit dem Kontextmenü ’Apply’ aufgerufen wird.

Neben den Textbausteinen können auch Verknüpfungen auf Dateien angelegt werden. Wenn Sie zuvor einen Textbaustein angelegt haben und anschließend das Kontextmenü ’Properties’ auswählen, selektieren Sie mit der Schaltfläche ’Link target’ das Ziel der Verknüpfung. Eine Verknüpfung kann auch über das Kontextmenü ’Convert to FileLink’ erzeugt werden. Dieser Schritt wandelt den Textbaustein automatisch in eine Verknüpfung 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 gekennzeichnet. Falls Sie die in Codesnippets markierte Datei (Verknüpfung) öffnen möchten selektieren Sie im Kontextmenü ’Open File’ oder halten Sie die ’Alt’ Taste gedrückt und machen ein Doppelklick auf die Datei.

Hinweis:
In Textbausteine können auch Urls angegeben werden z.B. http://www.codeblocks.org. Die Url kann wahlweise über das Kontextmenü ’Open Url’ oder per Drag and Drop in Ihrem gewohnten Webbrowser geöffnet werden.

Falls Sie diese Einstellung vorgenommen haben, dann wird wenn Sie z.B. einen Verknüpfung auf eine pdf-Datei aus der Codesnippets Ansicht öffnen automatisch ein pdf-Viewer gestartet. Dieses Vorgehen ermöglicht dem Benutzer Dateien, die über das Netzwerk verteilt liegen, wie z.B. CAD Daten, Schaltpläne, Dokumentation etc. als Verknüpfung einfach über die gewohnten Anwendungen zuzugreifen. Der Inhalt der Codesnippets 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 personalities bezeichnet. Wenn Sie CodeBlocks mit der Kommandozeilen Option --personality=<profile> starten, wird entweder ein neues angelegt oder ein existierendes Profil verwendet. Die Einstellungen werden dann statt in default.conf in der Datei <personality>.conf in den Anwendungsdaten gespeichert. Das Plugin Codesnippets speichert seine Einstellungen dann in der Datei <personality>.codesnippets.ini. Wenn nun Sie in den Settings von Codesnippets über ’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 Sie zu unterschiedlichen Profilen auch unterschiedliche Konfigurationen für Textbausteine und Verknüpfungen verwalten können.

Für das Navigieren zwischen den Kategorien und Snippets bietet das Plugin eine zusätzliche Suchfunktion. Hierbei lässt sich auch der Gültigkeitsbereich (Scope) für die Suche auf Snippets, Categories oder Snippets and Categories einstellen. Durch Eingabe des gewünschten Suchbegriffes wird automatisch der zugehörige Eintrag in der Ansicht ausgewählt. Die Abbildung 2.3 zeigt eine typische Ansicht im CodeSnippets Fenster.


pict

Abbildung 2.3: Ansicht von CodeSnippets

Hinweis:
Bei Verwendung von umfangreichen Textbausteine sollte deren Inhalt über ’Convert to File Link’ in Dateien ausgelagert werden, um die Speicherauslastung im System zu reduzieren. Beim Löschen von Textbausteine und Verknüpfungen werden diese in den Ordner .trash verschoben bzw. bei gedrückter Shift-Taste direkt gelöscht.

2.3  Incremental Search

Für eine effiziente Suche in geöffneten Dateien bietet CodeBlocks die sogenannte Incremental Search Methode. Über das Menü ’Search’ ®’Incremental Search’ oder das Tastenkürzel Ctrl-I wird diese Suchmethode für eine geöffnete Datei eingeleitet. Dabei wird dann automatisch der Focus auf die Suchmaske der zugehörigen Werkzeugleiste gesetzt. Wenn Sie mit der Eingabe eines Begriffes beginnen, wird abhängig von dem Vorkommen der Hintergrund der Suchmaske hinterlegt. Sobald ein Treffer im aktiven Editor gefunden wird, erscheint diese Stelle farblich markiert. Standardmäßig wird der aktuelle Treffer grün hervorgehoben. Die Einstellungen hierfür können im Menü ’Settings’ ®’ Editor’ ®’ Incremental Search’ geändert werden (siehe Abbildung 2.4). Durch Betätigen der Return Taste wird zum nächsten Vorkommen des Suchbegriffes gesprungen.

pict

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.
ALT-DELETE
Löscht den Inhalt für die Eingabe von Incremental Search.

Die Icons in der Werkzeugleiste von Incremental Search sind wie folgt zu verstehen:

pict
Löschen des Textes innerhalb der Suchmaske der Incremental Search Werkzeugleiste.
pict,pict
Navigation zwischen den Vorkommen eines Suchbegriffes.
pict
Dieser Knopf bewirkt, dass nicht nur der aktuelle gefundene Suchbegriff im Editor sondern auch weitere Vorkommnisse farblich hervorgehoben werden.
pict
Mit der Aktivierung dieser Option wird nur innerhalb eines selektierten Textes im Editor gesucht.
pict
Bewirkt, dass die Suche von Groß-/Kleinschreibung abhängt.

Hinweis:
Die standardmäßigen Einstellungen dieser Werkzeugleiste sind in ’Settings’ ®’Editor’ ®’Incremental Search’ konfigurierbar.

pict

Abbildung 2.4: Einstellungen für Incremental Search

2.4  ToDo List

Für komplexe Software-Projekte, an denen unterschiedliche Benutzer arbeiten, hat man häufig die Anforderung, dass zu erledigende Arbeiten von unterschiedlichen Usern umzusetzen sind. Für dieses Problem bietet CodeBlocks eine Todo List. Diese Liste, zu öffnen unter ’View’ ®’To-Do list’ , enthält die zu erledigenden Aufgaben mit Prioritäten, Typ und zuständige User. Dabei kann die Ansicht nach zu erledigenden Aufgaben nach Benutzer und/oder Quelldatei gefiltert werden. Eine Sortierung nach Spalten erhält der Benutzer durch Anklicken der jeweiligen Spaltenüberschrift.


pict

Abbildung 2.5: 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 message pane’ im Menü ’Settings’ ®’Environment’ auswählen.

Ein Todo lässt sich bei geöffneten Quellen in CodeBlocks über die rechte Maustaste ’Add To-Do item’ hinzufügen. Im Quellcode wird ein entsprechender Kommentar an der ausgewählten Quellzeile eingefügt.

  // TODO (user#1#): add new dialog for next release

Beim Hinzufügen eines To-Do erhalten Sie einen Eingabedialog mit folgenden Einstellungen (siehe Abbildung 2.6).


pict

Abbildung 2.6: Dialog für Eingabe von ToDo

User
Username <user> im Betriebssystem. Hierbei können auch Aufgaben für andere Benutzer angelegt werden. Dabei muss der zugehörige Benutzername über Add new user hinzugefügt werden. Die Zuordnung eines Todo geschieht dann über die Auswahl der unter User aufgelisteten Einträge.

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.
Priority
Die Wichtigkeit von Aufgaben können in CodeBlocks durch Prioritäten (Wertebereich: 1 - 9) gewichtet werden.
Position
Einstellung ob der Kommentar vor, nach oder exakt an der Stelle des aktuell befindlichen Cursor eingefügt werden soll.
Comment Style
Auswahl der Formatierung für Kommentare (zum Beispiel doxygen).

2.5  Source Code Exporter

Oft ergibt sich die Notwendigkeit, den Quelltext in andere Anwendungen oder in Emails zu übernehmen. Beim schlichten Kopieren des Textes geht jedoch die Formatierung verloren, was den Text sehr unübersichtlich macht. Die Export Funktion in CodeBlocks schafft hier Abhilfe. Über ’File’ ®’Export’ kann ein gewünschtes Dateiformat für die Exportdatei ausgewählt werden. Danach übernimmt das Programm den Dateinamen und das Zielverzeichnis der geöffneten Quelldatei und schlägt diesen als Name zum speichern vor. Die jeweilige Dateiendung wird durch das Exportformat bestimmt. Es stehen folgende Formate zur Verfügung.

html
Ein textbasiertes Format, das in einem Web-Browser oder Anwendungen zur Textverarbeitung 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.
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 werden.

2.6  Thread Search

Über das Menu ’Search’ ®’Thread Search’ lässt sich das entsprechende Plugin als Tab in 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 Verzeichnis 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.

Hinweis:
Die Einstellung von zu durchsuchenden Dateiendungen voreingestellt ist und eventuell angepasst werden muss.

2.6.1  Features

ThreadSearch plugin bietet folgende Funktionalität


pict

Abbildung 2.7: Thread Search Panel

2.6.2  Verwendung

  1. Konfigurieren Sie Ihre Einstellungen für die Suche (see Abbildung 2.8)

    Nach dem das Plugin installiert wurde gibt es vier Arten die Suche zu starten.

    1. Eingabe oder Auswahl eines Wortes in der Combo Box ein und Bestätigen Sie Ihre Eingabe mit Return oder drücken Sie den Search Knopf im Thread Search Panel in der Message Console.
    2. 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.
    3. Wählen Sie ein ’Wort’ im aktiven Editor und wählen Sie im Kontextmenü ’Find occurrences’.
    4. Selektieren Sie Search/Thread search um den ausgewählten Begriff im aktiven 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.
  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örige Datei geöffnet und an die gesuchte Stelle gesprungen.

2.6.3  Einstellungen

Der Knopf ’Options’ öffnet den Dialog für die Konfiguration des ThreadSearch plugin (see Abbildung 2.8):


pict

Abbildung 2.8: Konfiguration von Thread Search

  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 wählen.

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.

2.6.4  Optionen

Whole word
Diese Einstellung gibt in den Suchergebnisse nur die Begriffe zurück, die exakt dem Eintrag für die Suche entsprechen.
Start word
Sucht alle Begriffe die mit Eintrag der Suche beginnen..
Match case
Berücksichtigt Groß- und Kleinschreibung bei der Suche.
Regular expression
Regulärer Ausdruck für eine Suche.

Hinweis:
Um nach reguläre Ausdrücken wie n suchen zu können, muss in ’Settings’ ®’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 of ’Focused word” im Kontextmenü im Editor hinzu.
Use default options when running ’Find occurrences’
Diese Einstellung übernimmt die voreingestellte Konfiguration für das Kontextmenü ’Find occurrences’. Standardmäßig ist die Einstellung ’Whole word’ und ’Match case’ aktiv.
Delete previous results at search begin
Bei der Suche mit ThreadSearch und der Einstellung ’Tree View’ werden die Suchergebnisse hierarchisch angezeigt, d.h.

Bei einer Suche nach mehreren Begriffen wird die Liste schnell unübersichtlich, deshalb bietet diese Einstellung die Möglichkeit vorangegangene Suchergebnisse beim Start einer Suche zu löschen.

Hinweis:
In der Anzeige der Suchergebnisse können auch einzelne oder alle Einträge über das Kontextmenü ’Delete item’ bzw. ’Delete all items’ gelöscht werden.

2.6.6  Layout

Display header in log window
Der Name der Dateien wird in den Suchergebnissen angezeigt.

Hinweis:
Wenn diese Option deaktiviert ist, können die Spaltenbreite nicht mehr verändert werden, belegen jedoch Platz.
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.
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 Anzeige aller anderen Elementen für das Thread Search Plugin wird unterdrückt.
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 der Einstellung ’Message Notebook’ wird das ThreadSearch Fenster in der Message Konsole angedockt. Mit der Einstellung ’Layout’ können Sie das Fenster aus der Message Konsole lösen und als freies Fenster anordnen.

2.6.8  Logger Type

Für die Ansicht der Suchergebnisse existieren zwei Ansichten. Mit der Einstellung ’List’ werden alle Einträge untereinander angezeigt. Der andere Mode ’Tree’ zeigt die Suchergebnisse in einer Baumansicht an. Dabei werden Suchergebnisse aus einer Datei in einem Knoten zusammengefasst.

2.6.9  Splitter Window Mode

Der Benutzer kann eine horizontale oder vertikale Teilung der Fenster für die Vorschau und die Ausgabe von Suchergebnissen angeben.

2.6.10  Sort Search Results

Die Ansicht für die Suchergebnisse lässt sich sortieren nach Pfad oder Dateiname.

2.7  FileManager und PowerShell Plugin

Der File Explorer Abbildung 2.9 ist im FileManager Plugin enthalten. In Abbildung 2.9 ist der Aufbau des File Explorers dargestellt. Der File Explorer erscheint als Tab ’Files’ im Management Fenster.

Das oberste Eingabefeld dient zur Angabe des Pfades. Die History der letzten Einträge erhalten Sie durch Mausklick auf die Schaltfläche neben dem Eingabefeld. Dadurch öffnet sich das Listenfeld, in dem der entsprechende Eintrag ausgewählt werden kann. Die Pfeil-nach-oben-Schaltfläche rechts daneben schiebt die Anzeige der Verzeichnisstruktur um eins nach oben.

Im Feld ’Wildcard’ können Sie Filter für die Anzeige von Dateien angeben. Mit einer leeren Eingabe oder * werden alle Dateien angezeigt. Ein Eintrag *.c;*.h zeigt z.B. nur C-Quellen und Headerdateien an. Durch Öffnen des Listenfeldes kann wiederum eine History der letzten Einträge zur Auswahl angezeigt werden.


pict

Abbildung 2.9: Ansicht des Dateimanagers

Durch Mausklick mit gedrückter Shift-Taste kann ein Block von Dateien und Verzeichnissen ausgewählt werden, durch Mausklick mit gedrückter Ctrl-Taste können mehrere einzelne Dateien und Verzeichnisse ausgewählt werden.

Für die Auswahl eines oder mehrerer Verzeichnisse im File Explorer stehen Ihnen über das Kontextmenü folgende Operationen zur Verfügung:

Make Root
Definiert das aktuell ausgewählte Verzeichnis als Hauptverzeichnis.
Add to Favorites
Setzt ein Lesezeichen für das Verzeichnis und speichert es als Favorit ab. Durch diese Auswahl können Sie schnell zwischen häufig verwendeten Verzeichnissen, z.B. auf unterschiedlichen Netzlaufwerken, springen.
New File
Erzeugt eine neue Datei in ausgewählten Verzeichnis.
New Directory
Legt ein neues Unterverzeichnis im ausgewählten Ordner an.

Für die Auswahl von Dateien und Verzeichnissen stehen im Kontextmenü folgende gemeinsamen Befehle zur Verfügung.

Duplicate
Macht eine Kopie und benennt die Kopie um.
Copy To
Es öffnet sich ein Dialog in dem Sie das Zielverzeichnis für das Kopieren auswählen können.
Move To
Verschiebt Auswahl an die gewünschte Stelle.
Delete
Löscht die ausgewählten Ordner/Dateien.
Show Hidden Files
Aktiviert bzw. deaktiviert die Anzeige von versteckten Systemdateien. Wenn die Einstellung aktiviert ist, erscheint ein Haken vor dem Eintrag im Kontextmenü.
Refresh
Aktualisiert die Anzeige im Verzeichnisbaum.

Folgende Einträge sind nur für die Auswahl ein oder mehrerer Dateien gültig.

Open in CB Editor
Öffnet ausgewählte Datei im CodeBlocks Editor.
Rename
Benennt die Datei um.
Add to active project
Fügt die Datei oder Dateien zum aktiven Projekt hinzu.

Hinweis:
Die im File-Explorer ausgewählten Dateien oder Verzeichnisse sind über die Variable mpaths im Shell Extension Plugin verfügbar.

Über den Menübefehl ’Settings’ ®’Environment’ ®’PowerShell’ können benutzerdefinierte Funktionen erstellt werden. In der Eingabemaske des PowerShell wird mit der Schaltfläche ’New’ eine neue Funktion angelegt, die frei benannt werden kann. Im Feld ShellCommand Executable wird das auszuführende Programm angegeben, im unteren Feld können dem auszuführenden Programm zusätzliche Parameter übergeben werden. Durch Auswahl der Funktion im Kontextmenü oder PowerShell-Menü wird die eingetragene Aktion für die markierten Dateien oder Verzeichnisse ausgeführt. Die Ausgabe wird dabei auf ein eigenes Shell-Window umgelenkt.

Als Beispiel wird für den Eintrag mit dem Namen ’SVN’ ein zugehöriger Menüeintrag in ’PowerShell’ ®’SVN’ und im Kontextmenü des File-Explorers hinzugefügt. Hierbei bedeutet $file die Datei, welche im FileExplorer markiert ist, und $mpath die markierten Dateien oder Verzeichnisse.

   Add;$interpreter add $mpaths;;;

Dieser sowie jeder weitere Befehl erzeugt ein Untermenü, in diesem Fall ’Extensions’ ®’SVN’ ®’Add’ . Das Kontextmenü wird entsprechend erweitert. Der Aufruf des Kontextmenüs führt das SVN-Kommando add für die ausgewählte(n) Datei(en)/Verzeichnis(se) aus.

TortoiseSVN ist ein weit verbreitetes SVN Programm, das im Explorer als context menu integriert ist. Das Programm TortoiseProc.exe von TortoiseSVN kann auch in the Kommandozeile gestartet werden und zeigt einen Dialog an, der zur Eingabe durch den Benutzer dient. Somit können die Befehle, die im Kontextmenü im Explorer zugänglich sind auch in der Kommandozeile ausgeführt werden. Dies ermöglicht diese Funktionalität sehr einfach als Shell extension in CodeBlocks einzubauen. Zum Beispiel wird die folgende Eingabe

  TortoiseProc.exe /command:diff /path:$file

eine im File Explorer von CodeBlocks ausgewählte Datei gegen die SVN base Version verglichen. Siehe hierzu Abbildung 2.10 wie dieses Kommando als Shell extension verfügbar wird.

Hinweis:
Für Dateien, die unter SVN stehen, werden im File Explorer overlay icons angezeigt, wenn diese über das Kontextmenü ’View’ ®’SVN Decorators’ aktiviert wurden.

pict

Abbildung 2.10: Hinzufügen von Aktionen für Kontextmenü

Beispiel

Sie können den File-Explorer auch verwendet um Unterschiede zwischen verschiedenen Dateien oder Verzeichnisse anzeigen zu lassen. Dabei gehen Sie wie folgt vor.

  1. Fügen Sie im ’Settings’ ®’Environment’ ®’PowerShell’ den Namen ein, der später im Menü ShellExtensions bzw. im Kontextmenü erscheinen soll.
  2. Geben Sie den absoluten Pfad des Diff-Programms an (z.B. kdiff3). Dies wird über die Variable $interpreter zugegriffen.
  3. Fügen Sie im unteren Feld den Eintrag:
      Diff;$interpreter $mpaths;;;

In diesem Aufruf wird über die Variable $mpaths die im File-Explorer selektierten Dateien oder Verzeichnisse zugegriffen. Somit können Sie einfach ausgewählte Dateien oder Verzeichnisse gegeneineander vergleichen.

Als Übergabeparameter eines Befehl einer PowerShell unterstützt auch den Zugriff der in CodeBlocks verfügbaren Variablen (siehe Listing 3.2).

$interpreter

Aufzurufendes Programm.

$fname

Name der Datei ohne Endung.

$fext

Dateiendung der ausgewählten Datei.

$file

Dateiname mit Endung.

$relfile

Dateiname ohne Pfadangabe.

$dir

Ordnername mit Pfadangabe.

$reldir

Ordnername ohne Pfadanabe.

$path

Absoluter Pfad.

$relpath

Relativer Pfad einer Datei oder Verzeichnis.

$mpaths

Liste der ausgewählten Dateien oder Ordner.

$inputstr{<msg>}

Zeichenkette die durch eine Eingabeaufforderung eingegeben wird.

$parentdir

Übergeordnetes Verzeichnis (../)

Hinweis:
Die Einträge für Shell extension sind auch als Kontextmenü im Editor verfügbar.

2.8  Browse Tracker

Browse Tracker ist ein Plugin um zwischen kürzlich geöffneten Dateien in CodeBlocks zu navigieren. Dabei wird die Liste der kürzlich geöffneten Dateien in einer History gespeichert. Im Menü ’View’ ®’Browse Tracker’ ®’Clear All’ können Sie die History löschen.

Das Fenster ’Browsed Tabs’ zum Navigieren in dieser Listen erhalten Sie über das Menü ’View’ ®’Browse Tracker’ mit dem Eintrag ’Backward Ed/Forward Ed’ oder über das Tastenkürzel Alt-Left/Alt-Right. Das Browse Tracker Menü ist auch über die Rechte Maustaste als Kontextmenü zugänglich. Die Marker werden in der Layout-Datei layout file <projectName>.bmarks gespeichert.

Eine häufige Arbeitsweise bei der Entwicklung von Software ist, dass man sich durch ein Satz von Funktion hangelt, die in unterschiedlichen Dateien implementiert sind. Durch das Plugin BrowseTracks können Sie somit komfortabel zwischen den Aufrufen in unterschiedlichen Dateien navigieren.

Das Plugin erlaubt auch Browse Marker in jeder Datei innerhalb des CodeBlocks Editor zu setzen. Die Cursor Position wird für jede Datei gespeichert. Das Setzen eines Markers innerhalb einer Datei ist wahlweise über das Menü ’View’ ®’ Browse Tracker’ ®’ Set BrowseMarks’ oder durch einen Klick mit der linken Maustaste bei gehaltener Ctrl Taste möglich. Der Marker ist durch im linken Seitenrand gekennzeichnet. Über das Menü ’View’ ®’Browse Tracker’ ®’Prev Mark/Next Mark’ oder das Tastenkürzel Alt-up/Alt-down kann zwischen den Marker innerhalb einer Datei gesprungen werden. Dabei werden die Marker beim Navigieren in der Reihenfolge angesprungen wie diese gesetzt wurden. Falls Sie die Marker innerhalb einer Datei nach Zeilennummern sortiert durchlaufen möchten, wählen Sie einfach das Menü ’View’ ®’Browse Tracker’ ®’Sort BrowseMark’ .

Mit dem ’Clear BrowseMark’ wird ein Marker in der ausgewählten Zeile gelöscht. Falls ein Marker für ein Zeile gesetzt ist, kann bei gehaltener linker Maustaste (1/4 Sekunde) und betätigen der Ctrl Taste der Marker für diese Zeile gelöscht werden. Mit dem Aufruf ’Clear All BrowseMarks’ oder mit Ctrl-left Klick werden alle Marker innerhalb einer Datei zurückgesetzt.

Die Einstellungen für das Plugin können im Menü ’Settings’ ®’Editor’ ®’Browse Tracker’ verändert werden.

Mark Style
Standardmäßig werden Browse Marks durch im Seitenrand gekennzeichnet. Mit der Einstellung ’Book_Marks’ werden Browse Marks wie Bookmarks durch einen blauer Pfeil im Rand dargestellt. Mit Hide werden die Darstellung von Browse Marks unterdrückt.
Toggle Browse Mark key
Das Setzen oder Löschen von Marker kann entweder durch eine Klick mit der linken Maustaste oder bei gleichzeitig gehaltener Ctrl-Taste geschehen.
Toggle Delay
Die Zeitspanne, die eine linke Maustaste gedrückt gehalten sein muss um in den Browse Marker Modus zu wechseln.
Clear All BrowseMarks
Löschen aller Marker bei gehaltener Ctrl Taste entweder über einen einfachen Klick oder einen Doppelklick mit der linken Maustaste.

Die Konfiguration für das Plugin wird in den Anwendungsdaten in der Datei default.conf gepseichert. Bei der Verwenundung einer Personality wird die Konfiguration aus der Datei <personality>.conf gelesen.

2.9  SVN Unterstützung

Eine Unterstützung für die SVN Versionskontrolle bietet das CodeBlocks Plugin TortoiseSVN. Im Menü ’TortoiseSVN’ ®’Plugin settings’ lässt sich im Reiter ’Integration’ einstellen, wo die benutzerdefinierbaren SVN-Befehlen zur Verfügung stehen sollen.

Menu integration
Fügt einen Eintrag TortoiseSVN mit Einstellmöglichkeiten in die Menüleiste ein.
Project manger
Aktiviert die TortoiseSVN Befehle im Kontextmenü des Project Managers.
Editor
Aktiviert die TortoiseSVN Befehle im Kontextmenü des Editors.

In den Plugin Settings lässt sich zusätzlich im Integration Dialog ’Edit main menu’ beziehungsweise ’Edit popup menu’ konfigurieren welche SVN Kommandos im Menü bzw. Kontextmenü ausgeführt werden können.

Hinweis:
Der File Explorer in CodeBlocks bietet für die Anzeige des SVN Status unterschiedliche Farben als Icon Overlays. Auch hier ist das Kontextmenü für TortoiseSVN zugänglich.

2.10  LibFinder

Wenn Sie Bibliotheken in einer Anwendungen verwenden, muss Ihr Projekt so eingestellt werden, dass es nach diesen Bibliotheken sucht und diese anschließend benutzen kann. Dieser Vorgang kann zeitaufwändig und nervend sein, da jede Bibliothek unter Umständen durch unterschiedliche Arten von Option eingebunden werden muss. Des weiteren hängen die Einstellungen vom Host-Betriebssystem ab, was zu Inkompatibilitäten im Projekt für die Verwendung unter Unix und Windows führt.

LibFinder stellt folgende Kernfunktionalitäten zur Verfügung:

2.10.1  Suche nach Bibliotheken

Die Suche nach Bibliotheken ist über das Menü ’Plugins’ ®’Library finder’ erreichbar. Der Sinn besteht in der Suche nach Bibliotheken, die bereits auf Ihrem System installiert sind. Das Ergebnis der Suche wird in der Libfinder Datenbank gespeichert. Diese Ergebnisse werden nicht in den CodeBlocks Projektdateien gespeichert. Die Suche startet mit dem Aufruf des Dialogs für die Angabe von Suchpfaden. LibFinder scannt diese Verzeichnisse rekursiv. Falls Sie nicht ganz sicher sind, wo sich die Bibliotheken befinden, ist auch die Angabe eines allgemeinen Pfades möglich. Sie können auch ganze Laufwerke angeben — in diesem Fall wird die Suche länger dauern aber voraussichtlich werden dann alle Bibliotheken gefunden (siehe Abbildung 2.11).


pict

Abbildung 2.11: Liste für Suchpfade

Wenn LibFinder nach Bibliotheken sucht, verwendet es spezielle Regeln um das Vorhandsein von Bibliotheken zu erkennen. Jeder Satz an Regeln ist im einer xml Datei abgelegt. Derzeit unterstützt LibFinder die Suche von wxWidgets 2.6/2.8, CodeBlocks SDK and GLFW — die Liste wird zukünftig erweitert werden.

Hinweis:
Für nähere Informationen wie eine Unterstützung für weitere Arten von Bibliotheken eingefügt werden kann, lesen Sie bitte die Datei src/plugins/contrib/lib_finder/lib_finder/readme.txt im Quellverzeichnis von CodeBlocks.

Nach der Suche, zeigt Libfinder die Suchergebnisse an (siehe Abbildung 2.12).


pict

Abbildung 2.12: Suchergebnisse

In der Liste wählen Sie dann die Bibliotheken aus, die in der Libfinder Datenbank gespeichert werden sollen. Beachten Sie das jede Bibliothek mehrere gültige Konfigurationen haben kann und die Einstellungen aus vorhergehenden Suchen für die Erzeugung eines Projektes dominieren.

Mit den nachfolgenden Einstellungen lässt sich konfigurieren, wie mit den Ergebnissen aus vorhergehenden Suchen umgegangen wird.

Do not clear previous results
Diese Option funktioniert wie ein Update eines existierenden Ergebnis — es fügt neue hinzu und aktualisiert bereits bestehende. Die Option ist nicht ratsam.
Second option (Clear previous results for selected libraries)
Löscht alle Suchergebnisse für Bibliotheken, die vor der Suche ausgewählt wurden. Die Verwendung dieser Option wird empfohlen.
Clear all previous library settings
wenn diese Option ausgewählt ist, wird die LibFinder Datenbank aufgeräumt bevor neue Suchergebnisse eingefügt werden. Dies ist sinnvoll wenn Sie ungültige Einträge aus der LibFinder Datenbank entfernen wollen.

Eine weitere Alternative in diesem Dialog ist die Einstellung ’Set up Global Variables’ . Wenn diese Option ausgewählt ist, versucht LibFinder automatisch die globalen Variablen zu konfigurieren und den Umgang mit den Bibliotheken zu erleichtern.

Wenn Sie pkg-config auf Ihrem System installiert haben (ist meist auf Linux Systemen installiert), wird LibFinder auch die Bibliotheken aus diesem Tool verwenden. Es ist keine weitere Suche erforderlich, da diese beim Start von CodeBlocks automatisch geladen werden.

2.10.2  Einbinden von Bibliotheken in Projekten

LibFinder fügt in Project Properties einen weiteren Reiter ’Libraries’ ein — diese Reiter zeigt die Bibliotheken an, die im Projekt verwendet werden und LibFinder bekannt sind. Um Bibliotheken in ein Projekt einzufügen, wählen Sie einfach einen Eintrag im rechten Ausschnitt und Klicken Sie den < Knopf. Das Entfernen einer Bibliothek aus einem Projekt geschieht durch Auswahl eines Eintrages im linken Ausschnitt und einen Klick auf den > Knopf (siehe Abbildung 2.13).


pict

Abbildung 2.13: Project configuration

Die Anzeige von Bibliotheken, die LibFinder bekannt sind, kann gefiltert werden. Die Checkbox ’Show as Tree’ erlaubt das Umschalten zwischen kategorisiert und nicht kategorisierter Ansicht.

Wenn Sie Bibliotheken, die nicht in der LibFinder Datenbank verfügbar sind, einfügen wollen, wählen Sie den Eintrag ’Unknown Library’ . Sie sollte für die Angabe der Bibliothek das übliche Kürzel verwenden (entspricht normalerweise dem globalen Variablennamen) oder den Name der Bibliothek in pkg-config. Eine Liste von empfohlen Shortcodes finden Sie auf Global Variables. Die Verwendung dieser Option ist nur dann ratsam, wenn ein Projekt auf unterschiedlichen Systemen erzeugt werden soll, wo die erforderlichen Bibliotheken existieren und durch LibFinder ermittelt werden können. Der Zugriff auf eine globale Variable innerhalb von CodeBlocks sieht wie folgt aus:

  $(#GLOBAL_VAR_NAME.lib)

Die Auswahl der Option ’Don’t setup automatically’ wird LibFinder anweisen die Bibliotheken nicht automatisch beim Kompilieren des Projektes einzubinden. In einem solchen Fall kann LibFinder aus einem Build Script ausgeführt werden. Ein Beispiel für ein solches Skript wird durch Auswahl des Menüs ’Add manual build script’ erzeugt und dem Projekt hinzugefügt.

2.10.3  Verwendung von LibFinder und aus Wizards erzeugten Projekten

Wizards erzeugen Projekte, die nicht LibFinder nutzen. Die Verwendung des Plugins erfordert, das der Benutzer die Einstellung in den Build options im Reiter ’Libraries’ anpasst. Die Vorgehensweise sieht so aus, dass alle Bibliothek spezifische Einstellungen entfernt werden müssen und die benötigten Bibliotheken im Reiter ’Libraries’ eingefügt werden.

Diese Art von Projeken werden somit unabhängig von dem verwendeten Betriebssytem. Solange nur Bibliotheken, die in der LibFinder Datenbank definiert wurden, verwendet werden, werden die Build Optionen eines Projektes automatisch aktualisiert, so dass die Einstellung auch für die plattformabhängigen Einstellungen von Bibliotheken funktionieren.

2.11  AutoVersioning

Ein Plugin zur Versionierung von Anwendungen, indem die Versions- und Buildnummer einer Anwendung jedesmal hochgezählt wird, wenn eine Änderung stattgefunden hat. Diese Information wird über einfach benutzbare Variablendeklarationen in der Datei version.h abgelegt. Des weiteren sind möglich: Übergaben im SVN Stil, ein Versionsschema Editor, ein Change Log Generator und ein Log Generator und vieles mehr

2.11.1  Einleitung

Die Idee dieses Plugins entstand bei Entwicklung von Software, die sich im frühen pre-alpha Status befand und eine Art von Versionsinformation benötigte. Beschäftigt durch die Erstellung von Code, blieb keine Zeit um die Versionsnummer zu pflegen, deshlab wurde ein Plugin entwickelt, dass diese Arbeit erledigt und nur minimaler Bedienereingriff erfordert.

2.11.2  Features

Hier finden Sie eine Liste von Features, die vom Plugin abgedeckt werden.

2.11.3  Handhabung

Wählen Sie einfach das Menü ’Project’ ®’Autoversioning’ . Das Pop Up Fenster wie auf ?? erscheint.


pict

Abbildung 2.14: Configure project for Autoversioning

Wenn Sie den Dialog mit yes bestätigen, dann wird der Konfigurationsdialog von Autoversioning angezeigt.

Nachdem Sie Ihr Projekt für Autoversioning konfiguriert haben, werden die Einstellungen aus dem Eingabedialog im Projekt gespeichert und eine Datei version.h wird angelegt. Ab diesem Zeitpunkt wird bei jedem Aufruf des Menüs ’Project’ ®’Autoversioning’ der Konfigurationsdialog aufgerufen, um die Einstellung für Projektversion vorzunehmen, es sei denn Sie speichern die Änderungen des Plugins in Projektdatei.

2.11.4  Dialog notebook tabs

2.11.4.1 Version Values

Hier können Sie einfach die zugehörigen Version Values eintragen oder Auswählen ob Auto Versioning diese für Sie hochzählt (siehe Abbildung 2.15).

Major
Wird um eins hochgezählt wenn die Minor Version ihr Maximum erreicht
Minor
Wird um eins hochgezählt wenn die Anzahl von Build die Schranke build times überschreitet. Der Wert wird auch Null zurückgesetzt, nachdem die maximale Anzahl bereits erreicht wurde.
Build Number
Gleichbedeutend mit Release und wird jedesmal wenn die Revison Number steigt um eins hochgezählt.
Revision
Zählt die Revision zufallsartig hoch, wenn das Projekt geändert oder kompiliert wurde.

pict

Abbildung 2.15: Set Version Values

2.11.4.2 Status

Einige Felder sind auf vordefiniert Werte voreingestellt (siehe Abbildung 2.16).

Software Status
Ein typisches Beispiel wäre v1.0 Alpha
Abbreviation
Gleichbedeutend mit Software Status, aber in der Form: v1.0a

pict

Abbildung 2.16: Setzen Status von Autoversioning

2.11.4.3 Scheme

Hier stellen Sie ein, wie das Plugin die version values hochzählt (siehe Abbildung 2.17).


pict

Abbildung 2.17: Scheme of autoversioning

Minor maximum
Die obere Schranke für den Wert Minor. Wenn diese erreicht ist, wird Major hochgezählt und beim nächsten Kompilevorgang des Projektes wird Minor auf Null zurückgesetzt.
Build Number maximum
Wenn der Wert erreicht wurde, wird beim nächsten Kompilevorgang der Wert auf Null zurückgesetzt. Die Einstellung 0 setzt das Maximum auf unendlich
Revision maximum
Gleichbedeutend mit Maximum für Build Number maximum. Die Einstellung 0 setzt das Maximum auf unendlich
Revision random maximum
Die Revisions Nummer wird durch Zufallszahlen hochgezählt. Eine Einstellung mit 1, wird die Revision um eins erhöhen.
Build times before incrementing Minor
Nach Änderungen im Code und Kompilierung wird die Build History inkrementiert und wenn dieser Wert erreicht wird, dann wir der Minor Wert auch inkrementiert.
2.11.4.4 Einstellungen

Hier können Sie einige Einstellungen für Auto Versioning vornehmen (siehe Abbildung 2.18).


pict

Abbildung 2.18: Settings von Autoversioning

Autoincrement Major and Minor
Lassen Sie das Plugin nach diesem Schema den Wert inkrementieren. Wenn es nicht ausgewählt wurde, dann wird nur die Build Number und die Revision hochgezählt.
Create date declarations
Erzeugt in der Datei version.h Einträge für Datum und Ubuntu style version.
Do Auto Increment
Weist das Plugin an bei jeder Änderung noch vor dem Kompilevorgang zu inkrementieren.
Header language
Einstellung der Sprache für Ausgabe in version.h
Ask to increment
Wenn Do Auto Increment aktiv ist, wird vor dem Kompilevorgang bei Änderungen nachgefragt, ob hochgezählt werden soll.
svn enabled
Sucht nach der SVN Revision und Datum im aktuellen Verzeichnis und erzeugt die zugehörigen Einträge in version.h
2.11.4.5 Changes Log

Durch diese Einstellung wird die Eingabe für jegliche Änderung an einem Projekt in die Datei ChangesLog.txt generiert (siehe Abbildung 2.19).


pict

Abbildung 2.19: Changelog von Autoversioning

Show changes editor when incrementing version
Ruft den Changes log editor auf, wenn die Version inkrementiert wird.
Title Format
Format für Title mit einer Liste von vordefinierten Werten.

2.11.5  Einbinden in den Quellen

Für die Verwendung der Variablen, die durch das Plugin erzeugt wurden, müssen Sie die Datei #include <version.h> in den Quellen einfügen. Ein Beispiel für eine Quelle könnte wie folgt aussehen:

  #include <iostream>
  #include "version.h"
  
  void main(){
      std::cout<<AutoVersion::Major<<endl;
  }

2.11.5.1 Ausgabe von version.h

Die erzeugte Headerdatei könnte beispielsweise im C++ Mode wie folgt aussehen:

  #ifndef VERSION_H
  #define VERSION_H
  
  namespace AutoVersion{
  
   //Date Version Types
   static const char DATE[] = "15";
   static const char MONTH[] = "09";
   static const char YEAR[] = "2007";
   static const double UBUNTU_VERSION_STYLE = 7.09;
  
   //Software Status
   static const char STATUS[] = "Pre-alpha";
   static const char STATUS_SHORT[] = "pa";
  
   //Standard Version Type
   static const long MAJOR = 0;
   static const long MINOR = 10;
   static const long BUILD = 1086;
   static const long REVISION = 6349;
  
   //Miscellaneous Version Types
   static const long BUILDS_COUNT = 1984;
   #define RC_FILEVERSION 0,10,1086,6349
   #define RC_FILEVERSION_STRING "0, 10, 1086, 6349\0"
   static const char FULLVERSION_STRING[] = "0.10.1086.6349";
  
  }
  #endif //VERSION_h

Bei der Einstellung der Sprache C ergibt sich folgende Ausgabe ohne Namespaces:

  #ifndef VERSION_H
  #define VERSION_H
  
   //Date Version Types
   static const char DATE[] = "15";
   static const char MONTH[] = "09";
   static const char YEAR[] = "2007";
   static const double UBUNTU_VERSION_STYLE = 7.09;
  
   //Software Status
   static const char STATUS[] = "Pre-alpha";
   static const char STATUS_SHORT[] = "pa";
  
   //Standard Version Type
   static const long MAJOR = 0;
   static const long MINOR = 10;
   static const long BUILD = 1086;
   static const long REVISION = 6349;
  
   //Miscellaneous Version Types
   static const long BUILDS_COUNT = 1984;
   #define RC_FILEVERSION 0,10,1086,6349
   #define RC_FILEVERSION_STRING "0, 10, 1086, 6349\0"
   static const char FULLVERSION_STRING[] = "0.10.1086.6349";
  
  #endif //VERSION_h

2.11.6  Change log generator

Dieser Dialog ist über das Menü ’Project’ ®’Changes Log’ erreichbar. Diese Dialog erscheint auch wenn die Einstellung ’Show changes editor’ für das Inkrementierung der Version (Changes Log) besteht. Im Dialog werden die Liste von Änderungen nach Modifikation der Quellen eines Projektes eingegeben (siehe Abbildung 2.20).


pict

Abbildung 2.20: Changes for a project

2.11.6.1 Buttons Summary
Add
Fügt eine Zeile in der Liste hinzu
Edit
Editieren einer ausgwählte Zelle
Delete
Löscht die ausgewählte Zeile aus der Liste
Save
Speichert die aktuellen Daten temporär in der Datei (changes.tmp). Diese Information wird später für die Ausgabe in Changes Log verwendet
Write
Speichert die Eingabe in der Changes Log Datei
Cancel
Beendet den Dialog

Hier ein Beispiel für eine Datei ChangesLog.txt, die durch Auto Versioning erzeugt wurde.

  03 September 2007
     released version 0.7.34 of AutoVersioning-Linux
  
       Change log:
          -Fixed: pointer declaration
          -Bug: blah blah
  
  02 September 2007
     released version 0.7.32 of AutoVersioning-Linux
  
       Change log:
          -Documented some areas of the code
          -Reorganized the code for readability
  
  01 September 2007
     released version 0.7.30 of AutoVersioning-Linux
  
       Change log:
          -Edited the change log window
          -If the change log windows is leave blank no changes.txt is modified

2.12  Code statistics


pict

Abbildung 2.21: Konfiguration für Code Statistik

Anhand der Angaben in der Konfigurationsmaske ermittelt dieses einfache Plugin die Anteile von Code, Kommentaren und Leerzeilen für ein Projekt. Die Auswertung wird über das Menü ’Plugins’ ®’Code statistics’ durchgeführt.

2.13  Suche nach verfügbaren Quellencode

Dieses Plugin ermöglicht es, einen Begriff im Editor zu markieren und über das Kontextmenü ’Search at Koders’ in der Datenbank von [?] zu suchen. Dabei bietet der Eingabedialog zusätzlich die Möglichkeit, die Suche nach Programmiersprachen und Lizenzen zu filtern.

Durch diese Datenbanksuche finden Sie schnell Quellcode der aus anderen weltweiten Projekten von Universitäten, Consortiums und Organisationen wie Apache, Mozilla, Novell Forge, SourceForge und vielen mehr stammt und wiederverwendet werden kann, ohne dass jedes Mal das Rad neu erfunden werden muss. Bitte beachten Sie die jeweilige Lizenz des Quellcodes.

2.14  Code profiler

Eine einfache grafische Schnittstelle für das Profiler Programm GNU GProf.

2.15  Symbol Table Plugin

Diese Plugin ermöglicht die Suche von Symbolen in Objekten und Bibliotheken. Dabei werden die Optionen und der Pfad für das Kommandozeilen Programm nm über den Reiter Options konfiguriert.


pict

Abbildung 2.22: Konfiguration von Symbol Table

Mit der Schaltfläche ’Search’ wird die Suche gestartet und die Ergebnisse des Programms NM werden in einem eigenen Fenster SymTabs Result angezeigt. Der Name des Objekts bzw. Bibliothek, die das Symbol enthalten ist unter dem Titel NM’s Output gelistet.