NoobSaibots I/O

Qt Creator

, , ,

Seit ein paar Wochen trage ich ein wenig Code zum Projekt Qt Creator bei. Qt Creator ist ein Cross-Plattform Entwicklungseditor, der mithilfe von Qt geschrieben wird. Bisher bietet dieser Editor nur Unterstützung für C++/Qt Entwicklung. Dennoch, da die Struktur sehr pluginlastig ist, ist es möglich jedwede Sprache zu unterstützen. Natürlich muß jemand die Implementierung in Angriff nehmen wink.

Ein Paar Sachen, die ich soweit implementiert habe:

1. Copy Lines/Selection Up/Down

Das Verhalten habe ich einfach aus Eclipse übernommen. Hier wird entweder die aktuelle Zeile, oder alle Zeilen, die markiert sind, hoch oder runter kopiert. Die Keysequenz dafür ist CTRL+ALT+(UP|DOWN)

2. Minimap

Minimap, hier ein Beispiel, stellt die stark verkleinerte Version des aktuellen Dokumentes dar und ist links von der Editierkomponente positioniert (direkt neben den zeilennummern). Dadurch hat der Entwickler mehr Übersicht über das Dokument. Ferner wird auch der aktuelle sichtbare Bereich durch ein kleines Fenster angezeigt. Dieses Fenster kann auch zum Scrollen benutzt werden.

3. SmartReplace

Diese Funktionalität ermöglicht ein CaseSensitives Ersetzen. Hier ein Beispiel:

#ifndef FOO_H
#define FOO_H

class FooClass {
public:
    FooClass();
    ~FooClass();

private:
    int foo;
};


nun soll das "foo" durch "bar" ersetzt werden. Vorher würde der Ersetzungsalgorithmus jedes Vorkommen von foo (foo, Foo, FOO, ...) exakt durch das ersetzen was im "ersetzen durch:" steht; also durch "bar". Mit meinem kleinen Beitrag würde folgendes rauskommen.

#ifndef BAR_H
#define BAR_H

class BarClass {
public:
    BarClass();
    ~BarClass();

private:
    int bar;
};


Ferner kann auch beliebige Abfolge von klein-/großschreibung beachtet werden, solange die länge von "suchen nach" und "ersetzen durch" gleich ist. CamelCase funktioniert leider nicht, wenn die der ersetzte String nicht die gleiche Länge hat wie der String mit der er ersetzt wird.

Leider hat mein Arbeitgeber mir die Unterschrift des Copyright Assignments versagt. Da das Projekt zwar OpenSource sei, aber dahinter ein kommerzieller Konzern steht würde ich Nokia einen Vorteil erbringen in einem Geschäft, das nicht das geringste das unsere tangiert! Ich frage mich ob ich jetzt auch mein Nokia handy abgeben muß. furious bomb jester

VirtualBox ÄrgernisEishockey in Deutschland

Comments

Unregistered user Saturday, July 4, 2009 10:24:37 PM

Frank writes: SmartReplace is geil - kenne ich vom Emacs her. Ein Jammer, aber Arbeitgeber sind nunmal nich einfach...

NoobSaibot Sunday, July 5, 2009 9:13:37 PM

zum glück brauche ich keine zustimmung des arbeitgebers mehr wink

leider wurde der patch dafür nicht aufgenommen, da gerade ein refactoring mechanismus implementiert wird.

Write a comment

New comments have been disabled for this post.

June 2012
M T W T F S S
May 2012July 2012
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30