Welche Funktionen einer IDE würden sie nützlicher machen als ein Allzweck-Editor?


10

Ich verfasse eine IDE für die Lua-Sprache. Ich finde, dass viele Programmierer IDE nicht gerne verwenden und VIM (das derzeit in Mode ist), SCiTE oder.

Beim Versuch, einen Mind-Share zu gewinnen, interessiert mich, welche Funktionen eine IDE bieten könnte, die sie zu einer überzeugenden Alternative zu einem Allzweck-Editor machen würden.

Gibt es sozusagen eine "Killer-App" für eine IDE, die sie zu einem "Must-Have" machen würde?

Dies könnte als das Gegenteil von angesehen werden

Die nützlichsten Funktionen von VIM, die in einer IDE nicht Standard sind

Ich werde keine Verknüpfung zu meiner IDE herstellen, es sei denn, jemand fragt - aber Sie können so ziemlich nur meinen Namen googeln und ihn finden.

BEARBEITEN: Meine IDE ist eigentlich ein Sprach-Plugin für eine vorhandene IDE, daher erbe ich viele Funktionen von der Host-IDE - auf einer bestimmten Ebene, obwohl meine Sprachunterstützung eine IDE für sich ist - zumindest was die sprachspezifischen Aspekte betrifft besorgt.

Antworten:


19
  1. Refactoring-Funktionen (Umbenennen wirkt sich auf Abhängigkeiten / Extraktionsmethode / Extraktschnittstelle usw. aus)
  2. Intellisense (oder eine andere Code-Vervollständigungsfunktion)
  3. Fehlerprüfung (die IDE kennt tatsächlich ihre Symbole)
  4. Kein Einrichtungsaufwand
  5. Integrierter Compiler
  6. Integrierter Debugger
  7. Bessere Navigation zu und von Referenzen / Erklärungen
  8. Projektvorlagen / Dateivorlagen
  9. GUI-Builder
  10. Kann Boilerplate-Code automatisch generieren
  11. Es ist intuitiv und kann verwendet werden, ohne alle magischen Schlüssel zu kennen (hey, deshalb wurden GUIs überhaupt erst erfolgreich).

Insgesamt ist, wie @Thomas Owens feststellte, der größte Vorteil der IDE die Werkzeugintegration mit ihren Synergieeffekten insgesamt, während sie immer noch intuitiv und einfach zu bedienen ist.


3
Insgesamt würde ich sagen, Tool-Integration als Ganzes - Integration mit Versionskontrolle, Continuous Integration Server, Bug-Tracker, Compiler, Debugger, Profiler, statische Analyse und so weiter. Ich würde sagen, dass der integrierte Compiler und Debugger eine große Sache ist, aber es ist hilfreich, alles in einem schönen, ordentlichen kleinen Paket zu haben.
Thomas Owens

@ Thomas Owens: Sehr wahr, aber ich habe zum Beispiel keine Quellcodeverwaltung aufgelistet, da Sie die Quellcodeverwaltung einfach in vim integrieren können. Das ist also keine große Sache, schließlich ist es nur ein Befehlszeilenaufruf und ich mag beispielsweise Tortoise besser als AnkhSVN. Ich hätte Profiler aufgelistet, aber nicht alle IDEs werden mit einem geliefert (VS hat zum Beispiel keinen sofort einsatzbereit). Metriken sind ein schöner Punkt, aber auch hier bietet nur der neueste VS afaik.
Falcon

In Eclipse und NetBeans basiert vieles, was ich erwähnt habe, auf Plug-Ins, obwohl es auch viele Plug-Ins (oder Module oder Erweiterungen) für Vim und Emacs mit unterschiedlichen Funktionen gibt. Ich denke, das ist das Schöne an allen Tools - es ist einfach zu wählen, was Sie möchten, damit Sie produktiv sind.
Thomas Owens

Ich glaube, ich habe den größten Teil dieser Liste bis zu dem einen oder anderen Grad. Auch Code-Formatierung. und sogar Unterstützung für integrierte Hilfe für benutzerdefinierte APIs und Bibliotheken. Ihre Liste ist jedoch ziemlich umfangreich. Vielleicht kommt es am Ende nur auf die persönlichen Vorlieben an, und ich kann nicht viel mehr tun. (Meine IDE ist ein IntelliJ-Plugin - vielleicht ist das für manche zu viel)
Sylvanaar

2
Ich möchte klarstellen, dass Dinge wie Refactor / Rename mehrere Dateien ( projektweit ) umfassen. Wenn ich eine Methode oder Variable umbenenne, wendet PyCharm (zum Beispiel) die Umbenennung auf jede Datei im Projekt an, nicht nur auf die aktuell bearbeitete wie ein Redakteur tun würde. Ansonsten stimme ich dieser Liste durchaus zu. Ich habe PyCharm vor kurzem gekauft und angefangen, und je mehr ich es lerne, desto mehr gefällt es mir (trotz gelegentlicher Pannen :)
Cyclops

8

Der große Unterschied zwischen einer IDE und einem allgemeinen Texteditor besteht darin, dass IDEs die Programmiersprache verstehen, mit der Sie arbeiten, und Funktionen / Methoden automatisch vervollständigen, auf Fehler wie falschen Typ und falsche Grammatik prüfen können. In eine IDE sind auch Tools wie ein Compiler integriert, mit denen Sie Ihr Programm mit Befehlen in Ihrer IDE kompilieren und ausführen können.

Aber ich denke, VIM kann mehr als ein allgemeiner Texteditor. Vielleicht können Sie es in einigen Fällen als IDE sehen.


2
+1 für "die Sprache verstehen". Daraus folgt fast alles andere, denke ich.
Dean Harding

Ja, meine Sprachunterstützungsimplementierung ist sowohl syntaktisch als auch semantisch bekannt.
Sylvanaar

4

Refactoring-Tools

Der einzige Grund, warum ich meinen bevorzugten Allzweck-Texteditor nicht zum Codieren verwende. Wenn Sie allgemeine Code-Refactorings in Ihrem bevorzugten allgemeinen Zweck makro-up-fähig machen müssen, können Sie auch eine IDE verwenden, auf der diese Tools installiert sind.

Um zu sagen, dass die meisten IDEs die nützliche Funktionalität von Emacs haben, sie sind nur in einer beliebigen Tastenkombination vergraben.


2

Schön, Funktionen einer IDE zu haben, die im Texteditor nicht zu finden sind: 1. Intellisense (automatische Vervollständigung und Vorschläge)

  1. Integration mit dem Compiler

  2. Integration mit dem Debug-System

  3. Integration in die Versionskontrolle

  4. Integration in das Datenbanksystem

  5. On-the-Fly-Syntaxprüfung und Hilfe

  6. Syntaxfärbung

  7. Behandelt Projekte nicht nur mit Codedateien

  8. Findet, wo eine Methode verwendet wird, und zeichnet ein Diagramm (in den meisten IDEs bisher nicht vorhanden).

  9. Registriert Komponenten (abhängig von Ihrer Sprache)

  10. Integration mit GUI-Editor (en)

  11. Lesezeichen Codesegmente

  12. Quellensicherheit und gemeinsame Nutzung zwischen Entwicklern

  13. Projektwiederherstellung auf frühere Versionen

  14. Mehrere Projektkonfigurationen (Test, Entwicklung, Produktion)

  15. Die IDE-Funktionen können konfiguriert werden

  16. Intelligenter Quellcode vergleichen

  17. Automatisches Umbenennen von Vars, Methoden usw.

Ich denke nicht, dass das Erstellen einer neuen IDE nützlich ist.


Ich hätte erwähnen sollen, dass es sich um ein Plugin zu einer vorhandenen IDE handelt. Ich werde meine Frage bearbeiten.
Sylvanaar

2

Ich hätte gerne eine IDE mit einem vollständig anpassbaren Editor wie Emacs. Ich möchte keine Plugins schreiben und dann die IDE neu starten, um sie zu testen. Ich möchte Aktionen in einer Skriptsprache (z. B. Python, Ruby) definieren und sie sofort verwenden, an Schlüsselsequenzen binden usw. Die Sprache sollte in der Lage sein, den gesamten Arbeitsbereich zu bearbeiten.


1

3 Dinge entscheiden immer, ob ich eine bestimmte IDE verwenden werde oder nicht:

  • Autocomplete
  • Ein visueller GUI-Builder
  • Datenwerkzeuge für eine Art integriertes ORM

Ich verwende im Allgemeinen die IDE, die die meisten dieser Funktionen bietet oder die sie am besten unterstützt. Dies sind die drei Dinge, die dazu neigen, die Produktivität am meisten zu steigern, indem sie die Boilerplate-Codierung (GUI und DAL) reduzieren und die Denkzeit verkürzen (durch die automatische Vervollständigung kann ich viel API-Fummeln überspringen).


Ich hätte Refactoring-Tools viel höher eingestuft als GUI-Builder. Nicht alle Programme haben GUIs, aber sie konnten alle das Thema sein , irgendwann Refactoring.
FrustratedWithFormsDesigner

@FrustratedWithFormsDesigner - Für jeden sein eigenes, denke ich. Ich benutze selten Refactoring-Tools. Ich habe wirklich nichts gegen sie; Ich ziehe es einfach oft vor, von Hand umzugestalten, um sicherzustellen, dass ich nichts kaputt mache.
Morgan Herlocker

Früher habe ich das auch gemacht, ich glaube, ich war anfangs misstrauisch gegenüber solchen Werkzeugen. Und es ist wahr, wenn sie schlecht implementiert sind, ist es oft besser, sie von Hand umzugestalten, aber wenn diese Tools richtig gemacht werden, sind sie ERSTAUNLICH !
FrustratedWithFormsDesigner
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.