Frage:
C ++ IDE für Windows mit umfangreichen Funktionen: Code-Vervollständigung, Refactoring usw.
ApproachingDarknessFish
2014-02-05 02:47:26 UTC
view on stackexchange narkive permalink

Ich suche nach einer integrierten Entwicklungsumgebung für C ++, die unter Windows 8 ausgeführt werden soll. Das Programm sollte idealerweise die folgenden Funktionen unterstützen:

  • Code-Vervollständigung / Hinweis
  • Unterstützung beim Einrücken
  • Hervorheben der Syntax
  • Refactoring (zumindest die Möglichkeit, Variablen, Klassen, Funktionen usw. umzubenennen)
  • Code-Navigation (analog zu Strg kbd> + Klicken in Eclipse Indigo)

Außerdem sollte die IDE standardkonform sein, dh, sie verwendet keinen Compiler oder Code-Parser, der wissentlich und vorsätzlich gegen den C ++ - Standard verstößt (wie Microsoft Visual Studio) und den Benutzer benachrichtigt, wenn er nicht standardkonformen Code schreibt (obwohl ein Compiler ihn möglicherweise akzeptiert)

Derzeit kann ich keine Produkte erwerben, die nicht kostenlos sind, aber ich bin bereit, Antworten zu akzeptieren, die ein relativ billiges Produkt (z. B. < $ 100) beschreiben.

Hier muss unterschieden werden, dass die Einhaltung von Standards eng mit der zugrunde liegenden Toolchain zusammenhängt, die zum Kompilieren Ihres Codes verwendet wird. IOW, eine IDE kann nicht gegen den c ++ - Standard verstoßen, da sie nicht dafür verantwortlich ist, Ihre Quelle in ausführbaren Code umzuwandeln - der Compiler ist es.
Probieren Sie CLion von JetBrains aus.
Wie viel Erfahrung hast du mit vi und / oder emacs? Bitte zählen Sie es, auch wenn die Erfahrung vor Jahrzehnten war. (So ​​wie du nie vergisst, wie man Fahrrad fährt, vergisst du auch nie ganz, wie man böse-coole Sachen mit überraschend wenigen Tastenanschlägen in vi macht.)
@unforgettableid Seit ich diese Frage gestellt habe, habe ich tatsächlich hauptsächlich vim als Editor meiner Wahl verwendet.
"Die IDE sollte standardkonform sein" - Diese Anforderung ist für die IDE nicht sinnvoll, da die Einhaltung der Jobstandards dem zugrunde liegenden Compiler und nicht der IDE obliegt. Z.B. Wenn Sie Code :: Blocks verwenden und ihm mitteilen, dass MSVC verwendet werden soll, funktioniert das in Ihrem Link erwähnte nicht standardmäßige Verhalten natürlich genauso.
@ApproachingDarknessFish: Gut! Haben Sie jemals [bösen Modus] ausprobiert (https://www.emacswiki.org/emacs/Evil)? Dies ist eine Kombination aus Vims hervorragenden Keymaps und einem Großteil der Leistung von Emacs. Siehe auch das [vierminütige Demo-Video] (http://youtu.be/Uz_0i27wYbg) auf YouTube.
Ich stelle fest, dass Clang und GCC beide versuchen, miteinander kompatibel zu sein, und dass das GCC viele Erweiterungen hat, die über den Standard hinausgehen.
@ApproachingDarknessFish: Bitte erwägen Sie, die Antwort von CodeBlocks nicht zu akzeptieren, und berücksichtigen Sie dabei die Kommentare, die tatsächlich gültig zu sein scheinen.
@Brandin: Ich schlage vor, die Frage zu bearbeiten, damit dieser Ausdruck bedeutet, was er vernünftigerweise bedeuten kann und was OP wahrscheinlich tatsächlich will.
@einpoklum Ich sehe jetzt, dass mein Kommentar tatsächlich den ersten hier aufgeführten Kommentar dupliziert. Anscheinend wurde das Problem der Einhaltung von Standards vom OP ignoriert oder nicht verstanden. Das Bearbeiten würde nicht helfen; nur die OP zu erziehen würde.
@Brandin Das OP wurde ausgebildet, interessiert sich aber nicht mehr für diese Frage. Fühlen Sie sich frei zu bearbeiten, wie es die Community für richtig hält.
Acht antworten:
#1
+18
ConfusedStack
2014-02-11 08:17:23 UTC
view on stackexchange narkive permalink

Code :: Blocks

Ich würde diesen für Windows empfehlen, wenn Sie in einem Team arbeiten, das mehrere Plattformen verwendet. Es kann die Konfigurationsänderungen verarbeiten, sodass Sie nie bemerken, dass Ihre Teamkollegen nicht dieselben Betriebssysteme verwenden. Es ist eine sehr leistungsfähige moderne IDE, kann aber für einige Projekte zu viel sein. Es kann viele sofort einsatzbereite Compiler-Toolchains verwenden und für nahezu alle nicht standardmäßigen konfiguriert werden.

Wie auf der offiziellen Website angegeben, handelt es sich bei Code :: Blocks um eine "... Open Source-, plattformübergreifende, kostenlose C-, C ++ - und Fortran-IDE".

Funktionen

  1. Importiert MSVC-Projekte und Dev-C ++ - Projekte.
  2. Open Source
  3. Nativ plattformübergreifend
  4. Geschrieben in C ++. Keine interpretierten Sprachen oder proprietären Bibliotheken erforderlich.
  5. Erweiterbar durch Plugins
  6. Syntaxhervorhebung, anpassbar und erweiterbar
  7. Code-Vervollständigung / Hinweis
  8. Einrückung Unterstützung
  9. Code-Navigation
  10. ol>

    Weitere Funktionsinformationen finden Sie auf der offiziellen Website hier.

    Screenshot from developer's site

Dies bietet Refactoring-Unterstützung? Wie?
Code :: Blocks wird nicht mehr gepflegt. Ich würde stattdessen Qt Creator empfehlen. Es ist sowieso besser.
@Timmmm: Es scheint tatsächlich, dass die Code :: Blocks-Website seit einem Jahr nicht mehr aktualisiert wurde.
#2
+14
Ken Herbert
2014-02-05 03:14:11 UTC
view on stackexchange narkive permalink

Es gibt ein C / C ++ - Bundle für Netbeans.

Ich kann überprüfen, ob es Syntaxhervorhebung, Codevervollständigung und Codeformatierungs- / Einrückungshilfe enthält.

Obwohl ich das C ++ - Bundle nicht persönlich verwendet habe, verwende ich täglich die Java- und PHP-Varianten. Aufgrund der Existenz von cntrl + click Navigation und Refactoring gehe ich davon aus, dass sie auch in der Version vorhanden sein sollten C ++ - Bundle.

Der einzige wirkliche Nachteil, den ich bei Netbeans festgestellt habe, ist, dass es manchmal nach einigen Stunden so träge wird, dass es aufgrund eines (zumindest vermuteten) Speicherverlusts (zumindest) nicht mehr reagiert unter 64-Bit-Windows 7). Zu diesem Zeitpunkt müssen Sie den zugehörigen Prozess java.exe beenden, um den Speicher freizugeben. Dieses Problem wurde möglicherweise behoben, da ich es seit einigen Monaten nicht mehr erlebt habe.

#3
+12
Felix D.
2014-02-06 03:12:18 UTC
view on stackexchange narkive permalink

Das CDT-Projekt bietet eine voll funktionsfähige C- und C ++ - IDE, die auf der Eclipse -Plattform basiert. Zu den Funktionen gehören: Unterstützung für die Projekterstellung und verwaltete Erstellung für verschiedene Toolchains, Standard-Make-Erstellung, Quellennavigation, verschiedene Quellwissens-Tools wie Typhierarchie, Aufrufdiagramm, Include-Browser, Makrodefinitionsbrowser, Code-Editor mit Syntaxhervorhebung, Faltung und Hyperlink Navigation, Refactoring und Codegenerierung des Quellcodes, visuelle Debugging-Tools, einschließlich Speicher, Register und Disassembly-Viewer. ( Quelle)

CDT Project Screenshot of multiple windows

Ich würde nicht sagen, dass es voll funktionsfähig ist - schließlich sind seine Refactoring-Funktionen nahezu Null und es bietet keine automatische Fehler- und Warnlösung wie in Eclipse für Java - aber es kommt. Vielleicht wird es in einem Jahrzehnt oder so schön ... (Versteh mich nicht falsch - ich benutze es täglich).
#4
+6
SoleSoul
2015-08-16 16:46:24 UTC
view on stackexchange narkive permalink

CLion

CLion UI

Es handelt sich um eine plattformübergreifende IDE mit erweiterten Funktionen C ++ - Unterstützung aus ReSharper C ++ bekannt. Die IDE stammt von JetBrains, dem Unternehmen, das hinter IntelliJ Idea und Android Studio steht.

Funktioniert unter Windows, Linux und MacOS.

Zu den Funktionen:

  • Code-Vervollständigung - Vervollständigt Variablennamen, Klassenmitglieder, Header-Dateinamen und alles, was Sie von einer C ++ - IDE erwarten.

  • Einrückung - Es verfügt über eine konfigurierbare automatische Einrückung.

  • Syntaxhervorhebung ist für C ++ und einige Web-Sprachen vorhanden.

  • Erweiterte Refactoring-Unterstützung. Vielleicht die beste unter den C ++ - IDEs. Sie können damit Variablen und Klassen umbenennen, Code in eine separate Funktion extrahieren, Mitglieder in einer Klassenhierarchie nach oben / unten verschieben, den Code verschieben und kopieren, und ich habe wahrscheinlich nicht alles behandelt.

  • Code-Navigation - Ermöglicht Strg + Klicken, um zur Definition zu gelangen, nach Referenzen zu suchen und sich durch die von Ihnen besuchten Code-Positionen vorwärts / rückwärts zu bewegen.

  • Es hat sehr viel gute statische Analyse. Sie können die meisten Fehler sehen und korrigieren, bevor Sie den Code einmal kompilieren. Es warnt auch vor Fällen, die von anderen IDEs ignoriert werden, z. B. nicht verwendete Includes.

  • Codegenerierung - Sie können automatisch Deklarationen für unbekannte Variablen generieren oder eine neue Klasse mit Quelle und Header erstellen Dateien.

Eine weitere Stärke von CLion ist, dass es eine CMake CMakeLists.txt-Datei als Projektdatei verwendet, anstatt ein neues Format zu verwenden. Dies ermöglicht die austauschbare Entwicklung eines Projekts mit oder ohne IDE und erleichtert den Import von Projekten in die IDE.

Derzeit kostet der persönliche Gebrauch 100 US-Dollar und ist für die Open Source-Entwicklung kostenlos.

#5
+5
ConfusedStack
2014-02-10 07:18:29 UTC
view on stackexchange narkive permalink

Orwell Dev-C ++

Vor langer Zeit war Dev-C ++ vielleicht die kostenlose C / C ++ - IDE unter Windows, aber es war fehlerhaft und die Originalversion war ziemlich lange nicht gepflegt. Die Orwell-Version behebt viele bekannte Probleme. Es lohnt sich zumindest einen Blick darauf zu werfen. Erwähnenswert ist auch eine andere Abzweigung namens WX-Dev-C ++, die für die Entwicklung der RAD-GUI nützlich sein kann. Diese Version wird jedoch ebenfalls nicht beibehalten.

Orwell Dev-C ++ - Version: (Orwell Dev-C++ version)From the developer's sourceforge site WX-Dev-C ++ - Version (WX-Dev-C++ version) From the developer's site Original Dev-C ++ version: (Original Dev-C++ version:)From the developer's site

Funktionen, die alle Versionen unterstützen:

  1. Unterstützung von GCC-basierten Compilern
  2. Integriertes Debugging (mit GDB)
  3. Unterstützung für mehrere Sprachen (Lokalisierung)
  4. Klassenbrowser
  5. Code-Vervollständigung
  6. Debugvariable Browser
  7. Projektmanager
  8. Anpassbarer Syntaxhervorhebungseditor
  9. Erstellen Sie schnell Windows, Konsolen, statische Bibliotheken und DLLs
  10. Unterstützung von Vorlagen zum Erstellen eigener Projekttypen
  11. Erstellen von Makefiles
  12. Bearbeiten und Kompilieren von Ressourcendateien
  13. Tool Manager
  14. Druckunterstützung
  15. Suchen und Ersetzen von Einrichtungen
  16. Paketmanager für die einfache Installation von Zusatzbibliotheken
  17. CVS-Support
  18. Aufgabenliste
  19. CPU-Fenster
  20. ol>

    Die WX-Version erweitert dies um:

    1. WYSIWYG wxWidgets Ressourceneditor
    2. ol>

      Die Orwell-Version erweitert dies um:

    3. MinGW GCC 4.8.1 32-Bit
    4. TDM-GCC 4.8.1 32/64-Bit
    5. Syntaxhervorhebung
    6. Code-Vervollständigung
    7. Zeigt Informationen zum Code an, wenn Sie den Mauszeiger über den Code bewegen.
    8. Bietet vom Benutzer bearbeitbare Verknüpfungen und Tools.
    9. GPROF-Profilerstellung
    10. GDB-Debugging
    11. Devpak IDE-Erweiterungen
    12. ol>

      Community Dev-Pak (Plug-Ins) gibt es ebenfalls. Eine gute Seite, um einige zu finden, ist devpaks.org. Es scheint auch WX dev-pak-Erweiterungen für Orwell zu geben, die sich in diesem externen Thread befinden, aber ich habe sie nicht getestet.

Ich verwende derzeit WxDev-C ++ für meine C ++ - Entwicklung und würde es wirklich nicht empfehlen, wenn Sie WxWidgets nicht benötigen. Selbst dann macht Visual Studio aufgrund der Vielzahl schwerwiegender Fehler, insbesondere wenn der GUI-Designer nicht mehr mit dem Code synchronisiert ist, eine bevorzugte Umgebung für WxWidgets.
winterblodd, ja, ich wünschte es wäre besser gepflegt. Haben Sie Codeblocks ausprobiert? http://wiki.codeblocks.org/index.php?title=WxSmith_tutorial:_Hello_world
Ich habe Orwell verwendet und obwohl es brauchbar ist (und viel besser als Blutvergießen), fehlen ihm immer noch viele der Funktionen, nach denen ich suche. Ich werde aber WX auschecken.
Also ist es nur Windows?
#6
+1
FourtyTwo
2016-07-07 02:59:42 UTC
view on stackexchange narkive permalink

Qt Creator

Die IDE ist jetzt in Zeiten von Qt5 so ausgereift, dass sie für die meisten Qt-Entwickler wirklich die erste Wahl ist. Dies erforderte eine ganze Reihe von Funktionen, die die IDE jetzt auch für Nicht-Qt-Projekte sehr gut verwendbar machen.

Profis:

  • Wird mit einer optionalen MinGW-Toolchain geliefert, wenn Wird mit einem Qt-Toolkit installiert und kann dennoch Nicht-Qt-Projekte erstellen.
  • Die Integration von MinGW- und MSVC-Toolchains erfolgt ohne zusätzlichen Aufwand, einschließlich des Debuggens mit diesen.
  • CMake-Unterstützung
  • Große Anzahl verfügbarer Plugins
  • Vollständiger Satz von IDE-Funktionen, die man von einer aktuellen IDE erwarten kann.

Con's:

  • Es ist schwierig, eine C ++ - Toolchain zu integrieren, die nicht mit den Qt-Installationsprogrammen geliefert wird.
Ich bin damit einverstanden, dass dies bei weitem das Beste ist, insbesondere jetzt, wo das Clang-Code-Modell und die statische Analyse integriert sind. Es ist jetzt tatsächlich besser als Intellisense. Alle anderen in dieser Frage erwähnten IDEs liegen * Jahre * zurück (außer vielleicht CLion, das ich nicht ausprobiert habe).
#7
  0
ConfusedStack
2014-02-11 08:23:58 UTC
view on stackexchange narkive permalink

Geany

Laut der offiziellen Website wurde "[i] t entwickelt, um eine kleine und schnelle IDE bereitzustellen, die nur wenige Abhängigkeiten von anderen aufweist Pakete. Es unterstützt viele Dateitypen und hat einige nette Funktionen. "

Dies ist ein großartiger Minimalprogrammiereditor mit einem Windows-Port. Es ist relativ billig ($ 0 < $ 100), läuft unter Windows 8, macht keine Annahmen über den Compiler, (AFAIK) behält den C ++ - Standard bei, da es standardmäßig GNU gcc / g ++ für C / C ++ verwendet (Sie können jeden installierten Compiler verwenden () und verfügt über viele der Funktionen, nach denen Sie fragen. Obwohl etwas eingeschränkter als einige der anderen Unternehmenslösungen, insbesondere in Umgebungen ohne Ressourcen, kann es sich behaupten, da:

Funktionen:

  1. Code-Vervollständigung / Hinweise
  2. Unterstützung beim Einrücken
  3. Hervorheben der Syntax
  4. UPDATE: Es werden nur minimale Umgestaltungen und Reflows unterstützt (und es gibt Tools / Plugins, die dies verbessern können Auch)
  5. Code-Navigation (Strg, wenn sich die Deklaration in einer geöffneten Datei befindet)
  6. ol>

    In einer ähnlichen Kategorie befindet sich das erstaunliche Programm Notepad ++ und die Unix / GNULinux-Kraftpakete vim oder emacs, aber ich würde Geany empfehlen, da es mit fast 0 Lernkurven einfach zu verwenden ist und:

    Hat auch zusätzlich:

  • kostenlos
  • plattformübergreifend
  • gibt Sie haben das gleiche Erscheinungsbild (obwohl dies in hohem Maße anpassbar ist), unabhängig davon, auf welcher Plattform
  • mehrsprachige Unterstützung möglich ist (häufig verwenden große Projekte Skripte usw. und es ist ni ce benötigt nur eine IDE)
  • Keine Compiler-Annahmen - es ist einfach, eine C ++ - kompatible Toolchain zu verwenden
  • Sehr anpassbar
  • SEHR leicht
  • Vollständige Terminalintegration unter POSIX-Systemen (Linux)

Screenshot found online of software

Persönlich verwende ich diese IDE fast ausschließlich, wenn ich unter Linux mit einer GUI schnell Code schreibe. Es hat einige sehr schöne Funktionen für C / C ++, die normalerweise für viel größere Programme reserviert sind. Es ist schnell und kann nahezu jedes nicht-binäre Formulardokument öffnen. Es verfügt über nette Tastenbefehle wie Zeilenwechsel, Duplizieren sowie mehrzeilige Einrückungs- und Kommentarsteuerung. Sie können VIM darin verwenden (als Teil des Terminalzugriffs, den es bietet). Es kann Möglichkeiten zum Erstellen von Software speichern, ohne dass Projekte ihre eigenen Erstellungsoptionen selbst enthalten müssen. Selbst wenn beispielsweise kein Makefile vorhanden ist (das mit einer Funktionstaste verwendet werden kann), können Sie Build-Optionen speichern, die basierend auf dem Dateityp ausgewählt werden können. Dies ist nützlich, wenn es mehrere Bibliotheken gibt, die Sie häufig verwenden und mit denen Sie verknüpfen, die Sie jedoch schnell schreiben, kompilieren und testen möchten. Zum Beispiel könnten zwei benutzerdefinierte Befehle, die ich mit geany häufig verwende, g ++ -Wall -o "% e" "% f" 'allegro-config --cflags --libs' zum Kompilieren verwendet werden ein Allegro4-Programm oder nvcc -arch = sm_20 -o "% e" * .o -lcudart 'pkg-config opencv --cflags --libs' zum Erstellen einer CUDA-Anwendung, die auch OpenCV verwendet. Sobald Sie diese gespeichert haben, können Sie sie aus einem Dropdown-Feld oder als Funktionstaste für jede CPP-Datei oder den Dateityp auswählen, mit dem Sie sie verknüpft haben. Ich habe auch festgestellt, dass der druckformatierte und durch die Syntax hervorgehobene Code in PDF (unter Verwendung von Linux CUPS IIRC) sehr nützlich ist, um die Programmdokumentation für Klassen einzureichen. Da ich so wenig Ressourcen habe, dass ich es auf einem tragbaren Linux habe und es selbst eingerichtet / konfiguriert habe, habe ich seitdem unzählige Stunden für jedes Projekt gespart. Um ein vorhandenes Projekt zu ergänzen, erstellen Sie einfach ein neues CPP-Dokument oder öffnen Sie ein vorhandenes im Dateimanager. Sie arbeiten bereits, anstatt zu konfigurieren, eine Vorlage aufzubauen, Bibliotheken manuell hinzuzufügen usw.

Erklären Sie, wie dies C ++ gut unterstützt. Wenn dies nicht der Fall ist, ist dies keine wirkliche Antwort.
Ich habe erklärt, wie dies C ++ gut unterstützt, wie ich es benutze, und die Frage des OP beantwortet.
Wie wird das Refactoring angegangen? (OP: "Variablen usw. zumindest umbenennen") Dies ist eigentlich sehr schwer richtig zu machen. Wenn Geany es tut (Sie sagen es uns), wie macht es es auf eine Weise, die "richtig" ist?
#8
  0
Felix D.
2017-06-24 19:16:59 UTC
view on stackexchange narkive permalink

Visual Studio Code

Dies ist eine flexible IDE für viele Programmiersprachen und unterstützt C ++ über viele Plugins sehr gut. Es wurde im Jahr 2015 veröffentlicht und wird aktiv gepflegt. Siehe dieses Zitat aus Wikipedia:

Visual Studio Code ist ein von Microsoft für Windows, Linux und macOS entwickelter Quellcode-Editor. Es bietet Unterstützung für Debugging, eingebettetes Git-Steuerelement, Syntaxhervorhebung, intelligente Code-Vervollständigung, Snippets und Code-Refactoring. Es ist auch anpassbar, sodass Benutzer das Thema des Editors, Tastaturkürzel und Einstellungen ändern können. Es ist kostenlos und Open Source, obwohl der offizielle Download unter einer proprietären Lizenz erfolgt.

Screenshot from Wikipedia



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...