Bestimmte Features (ähnlich Visual Assist X und Co) auch für den C++ Builder?



  • Mich stören derzeit ein paar Dinge bei der Arbeit mit dem C++ Builder 2007, um genauer das fehlen einiger Features die ich von anderen Entwicklungsumgebungen gewohnt bin. Die Frage ist, ob sich ein paar dieser Dinge auch im C++ Builder nachrüsten oder konfigurieren lassen (Bislang noch nichts gefunden):

    a) Refactoringtools
    Ich vermisse (funktionierende) Refactoringfähigkeiten. Und seien es nur die maginalsten (Umbenennen, vielleicht noch Auslagern von Code in separate Methoden...). Der VC brachte hier von Haus aus ein paar Möglichkeiten mit und es gab recht mächtige Plugins.
    Die einzige Refactoringoption (Rename...) die ich im C++ Builder auswählen kann wirft bei mir reproduzierbar nur Fehler und tut garnichts ("Could not find references due compilation errors." & "Failed to setup refactoring")

    b) Genauere Angaben des Code Insight...
    Mir würde es schon helfen wenn ich zumindestens den Typ einer Variable angezeigt bekommen würde, wenn ich mit der Maus darüber gehe. Bislang habe ich es nur geschafft, die Datei genannt zu bekommen wo diese definiert ist. Selbst das maginale Intellisence vom VC wäre schon eine Steigerung 😉

    Kennt hier jemand Tools (ob kostenlos oder kostenpflichtig ist dabei egal) oder Einstellungen die mir vielleicht weiterhelfen könnten?

    cu André



  • Hallo,

    Richtige Erweiterungen die das leisten was du suchst kenne ich nicht.
    Als IDE-Erweiterungen nutze ich GExperts und CNPack. Die bieten beide aber nicht was du suchst. Lediglich marginale Erweiterungen zum Suchen und Ersetzen, welche aber kein Ersatz für ein richtiges Refactoring sind.
    Was den Typ der Variablen betrifft. Wenn du die Ctrl-Taste festhälst und auf deine Variable klickst, kommst du zur Deklaration, was evtl. auch schon hilft.
    Mehr wüsste ich jetzt auch nicht. Ich muß aber zugeben, dass ich das CodeInsight fast nie nutze (außer beim Debugging) und die Auswertungen deshalb in der IDE abschalte.



  • asc schrieb:

    Selbst das maginale Intellisence vom VC wäre schon eine Steigerung 😉

    Code Completion im C++Builder ist, wenn mich nicht alles täuscht, _deutlich_ detaillierter als VCs IntelliSense und gibt auch Auskunft über Typnamen und dergleichen.



  • audacia|off schrieb:

    asc schrieb:

    Selbst das maginale Intellisence vom VC wäre schon eine Steigerung 😉

    Code Completion im C++Builder ist, wenn mich nicht alles täuscht, _deutlich_ detaillierter als VCs IntelliSense und gibt auch Auskunft über Typnamen und dergleichen.

    Also im direkten Vergleich halte ich die Code Completion vom C++ Builder noch nicht einmal der von den Microsoft Expressversionen überlegen, vielleicht gleichwertig (Beide könnten aber etwas besser sein). Wo Intellisense tatsächlich schlechter ist, ist imho in der Zuverlässigkeit 😉

    Wo ich aber tatsächlich enttäuscht drüber bin ist, das nochnicht einmal das einfachste Refactoring funktioniert - und es scheinbar keine Anbieter mit entsprechenden Erweiterungen gibt. Ist der C++ Builder wirklich so ein Nischenprodukt oder so schwer zu erweitern?

    cu André



  • Das Problem ist hier wohl eher, dass ein gutes Refactoring für C++ nicht so einfach zu implementieren ist. Bei der Delphi Umgebung soll wohl ein ziemlich leistungsfähiges Tool dabei sein.
    Was jetzt C++ betrifft, wird Refactoring nicht so oft gefordert wie manch andere Dinge (Class-Explorer, Standardkompatibilität, Multilanguage, Unicode). Deswegen hat das auch eine niedrige Priorität bekommen.
    Ich habe selber ja noch nie mit einen richtigen Refactoringtool gearbeitet und vermisse es somit auch nicht. So geht es wohl vielen BCB-Nutzern, die parallel weder mit Delphi noch mit VC++ arbeiten.



  • Braunstein schrieb:

    Das Problem ist hier wohl eher, dass ein gutes Refactoring für C++ nicht so einfach zu implementieren ist. Bei der Delphi Umgebung soll wohl ein ziemlich leistungsfähiges Tool dabei sein.

    Es mag nicht einfach sein, machbar ist es aber auf jeden Fall (Als Beispiel hier Refactor! for C++ ein Addin für den VC-Compiler). Ich kann mit vorstellen das es bei dem C++ Builder etwas problematischer ist, da man sowohl Delphi wie auch C++ berücksichtigen muss.

    Mir würde ja bereits das Umbennenen - was ja beim C++ Builder dabei ist - reichen, nur funktioniert dies nicht (vielleicht mag es simple Fälle geben, wo es etwas tut, ich habe noch keinen davon entdeckt, und hierzu liegen CodeGear wohl einige Meldungen vor.

    Braunstein schrieb:

    Was jetzt C++ betrifft, wird Refactoring nicht so oft gefordert wie manch andere Dinge (Class-Explorer, Standardkompatibilität, Multilanguage, Unicode). Deswegen hat das auch eine niedrige Priorität bekommen.

    Leider. Da merkt man wieder das man Sachen vermissen kann, wenn man sich einmal daran gewöhnt hat. Und man merkt auch ein wenig das der C++ Builder eher Stiefmütterlich behandelt wird...

    cu André



  • asc schrieb:

    Also im direkten Vergleich halte ich die Code Completion vom C++ Builder noch nicht einmal der von den Microsoft Expressversionen überlegen, vielleicht gleichwertig (Beide könnten aber etwas besser sein). Wo Intellisense tatsächlich schlechter ist, ist imho in der Zuverlässigkeit 😉

    Ich empfinde dieses als informativer als das. IntelliSense ist vielleicht schneller, aber IMHO nicht übersichtlicher.

    asc schrieb:

    Wo ich aber tatsächlich enttäuscht drüber bin ist, das nochnicht einmal das einfachste Refactoring funktioniert

    Ja, es ist in der Tat ärgerlich, daß das Rename-Refactoring nur sporadisch funktioniert.

    asc schrieb:

    Ist der C++ Builder wirklich so ein Nischenprodukt oder so schwer zu erweitern?

    Primär ist es nicht ganz einfach, Refactoring für C++ insbesondere unter Beachtung der sprachlichen Besonderheiten hinsichtlich Delphi-Kompatibilität zu implementieren. Die meisten Refactoring- und Codeanalyse-Tools für C++ benutzen das EDG-Frontend, das mit standardkonformem C++ zwar sehr gut zurechtkommt, aber für alles weitere manuell angepaßt werden muß, also z.B. für all die Spracherweiterungen des C++Builder. Borland hat ja selbst zur Zeit des C++BuilderX einmal versucht, den BCC auf dem EDG-Frontend aufzubauen - ist aber aus verschiedenen Gründen, vor allem wohl wegen der Delphi-Kompatibilität, wieder davon abgerückt.


Anmelden zum Antworten