Quelles fonctionnalités d'un IDE le rendraient plus utile qu'un éditeur à usage général

10

J'écris un IDE pour la langue Lua. Je trouve que de nombreux programmeurs n'aiment pas utiliser IDE et préfèrent VIM (qui est en vogue en ce moment), SCiTE ou.

En essayant de gagner une part d'esprit, je suis intéressé par les fonctionnalités qu'un IDE pourrait fournir qui en feraient une alternative intéressante à un éditeur à usage général.

Existe-t-il une "killer-app" pour ainsi dire pour un IDE qui en ferait un "must-have"?

Cela pourrait être considéré comme l'inverse de

Les fonctionnalités les plus utiles de VIM qui ne sont pas standard dans un IDE

Je ne lierai pas à mon IDE à moins que quelqu'un ne le demande - mais vous pouvez à peu près simplement rechercher mon nom sur Google et le trouver.

EDIT: Mon IDE est en fait un plugin de langue pour un IDE existant, donc j'hérite de nombreuses fonctionnalités de l'IDE hôte - à un certain niveau, bien que ma prise en charge linguistique soit un IDE en soi - au moins dans la mesure où les aspects spécifiques à la langue sont concerné.

sylvanaar
la source

Réponses:

19
  1. Refactorisation des installations (le changement de nom affecte les dépendances / la méthode d'extraction / l'interface d'extraction, etc.)
  2. Intellisense (ou toute autre fonctionnalité de complétion de code)
  3. Vérification des erreurs (l'EDI connaît réellement ses symboles)
  4. Pas de soucis de configuration
  5. Compilateur intégré
  6. Débogueur intégré
  7. Meilleure navigation vers et depuis les références / déclarations
  8. Modèles de projets / modèles de fichiers
  9. Constructeurs GUI
  10. Peut générer automatiquement le code passe-partout
  11. Il est intuitif et peut être utilisé sans connaître toutes les clés magiques (hé, c'est pourquoi les GUI sont devenues réussies en premier lieu)

Dans l'ensemble, comme l'a déclaré @Thomas Owens, le plus grand avantage de l'IDE est l'intégration de l'outil avec ses effets de synergie dans son ensemble, tout en restant intuitif et facile à utiliser.

Faucon
la source
3
Dans l'ensemble, je dirais l'intégration d'outils dans son ensemble - intégration avec contrôle de version, serveur d'intégration continue, suivi des bogues, compilateur, débogueur, profileur, analyse statique, etc. Je dirais que le compilateur et le débogueur intégrés sont un gros problème, mais avoir tout dans un joli petit paquet soigné est utile.
Thomas Owens
@Thomas Owens: Très vrai, mais je n'ai pas répertorié le contrôle de source par exemple, car vous pouvez facilement intégrer le contrôle de source dans vim, donc ce n'est pas un gros problème, après tout, c'est juste un appel en ligne de commande et j'aime par exemple mieux Tortoise que AnkhSVN. J'aurais répertorié les profileurs, mais tous les IDE ne sont pas livrés avec un (VS par exemple n'en a pas d'afaik). Les mesures sont un bon point, mais encore une fois, seuls les plus récents VS le proposent afaik.
Falcon
Dans Eclipse et NetBeans, une grande partie de ce que j'ai mentionné est basée sur des plug-ins, bien qu'il existe également de nombreux plug-ins (ou modules ou extensions) pour vim et emacs, avec des capacités différentes. Je pense que c'est ce qui est bien avec tous les outils - il est facile de choisir ce que vous voulez pour que vous soyez productif.
Thomas Owens
Je pense que j'ai la plupart de cette liste à un degré ou un autre. En outre, le formatage du code. et même la prise en charge de l'aide intégrée pour les API et bibliothèques personnalisées. Votre liste est cependant assez complète. Peut-être que cela revient à la préférence personnelle à la fin, et je ne peux pas faire grand-chose de plus. (Mon IDE est un plugin IntelliJ - c'est peut-être trop pour certains)
sylvanaar
2
Je voudrais préciser que des choses comme Refactor / Rename sont multi-fichiers (à l'échelle du projet) - lorsque je renomme une méthode ou une variable, PyCharm (par exemple) appliquera le renommage à tous les fichiers du projet, pas seulement celui actuellement édité comme le ferait un éditeur. Sinon, je suis certainement d'accord avec cette liste. J'ai acheté et commencé à utiliser PyCharm récemment, et plus je l'apprends, plus je l'aime (malgré des problèmes occasionnels :)
Cyclops
8

La grande différence entre un IDE et un éditeur de texte général est que les IDE comprennent le langage de programmation avec lequel vous travaillez et peuvent compléter automatiquement les fonctions / méthodes, vérifier les erreurs comme le mauvais type et la grammaire incorrecte. Un IDE a également des outils comme un compilateur intégré afin que vous puissiez compiler et exécuter votre programme avec des commandes dans votre IDE.

Mais je pense que VIM peut faire plus qu'un éditeur de texte général, peut-être que vous pouvez le voir comme un IDE dans certains cas.

Jonas
la source
2
+1 pour "comprendre la langue". Je pense que presque tout le reste en découle.
Dean Harding
oui - mon implémentation de prise en charge de langage est à la fois syntaxique et sémantique.
sylvanaar
4

Outils de refactoring

La seule raison pour laquelle je n'utilise pas mon éditeur de texte à usage général préféré pour le codage. Parce que si vous avez besoin de macro-refactoriser le code commun dans votre usage général préféré, vous pourriez tout aussi bien utiliser un IDE sur lequel ces outils sont installés.

Au moins pour dire que la plupart des IDE ont les fonctionnalités utiles qu'emacs a, il est simplement enfoui dans une combinaison de touches arbitraires.

Spoike
la source
2

Agréable d'avoir des fonctionnalités d'un IDE qui ne se trouvent pas dans l'éditeur de texte: 1. Intellisense (saisie automatique et suggestions)

  1. Intégration avec le compilateur

  2. Intégration avec le système de débogage

  3. Intégration avec contrôle de version

  4. Intégration avec le système de base de données

  5. Vérification de la syntaxe et aide à la volée

  6. Coloration syntaxique

  7. Gère les projets non seulement les fichiers de code

  8. Trouve où une méthode est utilisée et dessine un graphique (introuvable dans la plupart des IDE à ce jour)

  9. Enregistre les composants (selon votre langue)

  10. Intégration avec les éditeurs GUI

  11. Segments de code des signets

  12. Sécurité des sources et partage entre les développeurs

  13. Restauration du projet dans les versions précédentes

  14. Configurations de projets multiples (test, développement, production)

  15. Les fonctionnalités IDE peuvent être configurées

  16. Comparaison de code source intelligent

  17. Renommage automatique des vars, méthodes, etc.

Je ne pense pas que la création d'un nouvel IDE soit utile.

Aucune chance
la source
J'aurais dû mentionner qu'il s'agit d'un plugin pour un IDE existant. Je vais modifier ma question.
sylvanaar
2

J'aimerais avoir un IDE avec un éditeur entièrement personnalisable comme Emacs. Je ne veux pas écrire de plugins puis redémarrer l'IDE pour les tester. Je veux définir des actions dans un langage de script (par exemple python, ruby) et pouvoir les utiliser immédiatement, les lier à des séquences de touches, etc. Le langage devrait être capable de manipuler tout l'espace de travail.

Kevin Cline
la source
1

3 choses décident toujours si j'utiliserai ou non un IDE particulier:

  • Saisie automatique
  • Un constructeur graphique GUI
  • Outils de données pour une sorte d'ORM intégré

J'utilise généralement l'IDE qui possède le plus de ces fonctionnalités, ou qui le fait le mieux. Ce sont les trois choses qui ont tendance à augmenter le plus la productivité en réduisant le codage standard (GUI et DAL) et en réduisant le temps de réflexion (la saisie semi-automatique me permet d'ignorer beaucoup de tâtonnements API).

Morgan Herlocker
la source
J'aurais classé les outils de refactorisation beaucoup plus haut que les constructeurs de GUI. Tous les programmes n'ont pas d'interface graphique, mais ils pourraient tous faire l'objet d'une refactorisation à un moment donné.
FrustratedWithFormsDesigner
@FrustratedWithFormsDesigner - À chacun son propre je suppose. J'utilise rarement des outils de refactoring. Je n'ai vraiment rien contre eux; Je préfère souvent refaçonner à la main pour m'assurer de ne rien casser.
Morgan Herlocker
J'avais l'habitude de le faire aussi, je suppose que je me méfiais de ces outils au début. Et c'est vrai que s'ils sont mal implémentés, il est souvent préférable de refactoriser à la main, mais quand ces outils sont bien faits, ils sont INCROYABLES !
FrustratedWithFormsDesigner