2017-10-12 12 views
3

Nous avons une API Ruby pour notre application et j'essaie de savoir si je peux faire une extension pour VSCode qui ajoute auto-complète pour notre API à la fonction Intellisense de l'éditeur.Pouvez-vous ajouter à l'auto complète d'un langage VSCode?

Avec RubyMine, je l'ai fait en utilisant simplement des stubs emballés comme une gemme. L'ajout de la gemme au projet RubyMine est tout ce dont j'avais besoin pour que l'éditeur fournisse un aperçu du code incluant notre API.

Comment cela peut-il être fait pour VSCode? J'espérais tirer parti de l'extension vscode-ruby existante pour Code. Mais je ne trouve que des exemples d'ajout d'extensions de langue.

+0

Avez-vous regardé l'ajout de Snippets du tout? Je ne suis pas sûr que ce soit exactement ce que vous cherchez mais vaut le coup d'oeil https://code.visualstudio.com/docs/editor/userdefinedsnippets OU https://code.visualstudio.com/docs/editor/intellisense –

Répondre

2

Grâce à des questions comme celle-ci, je me tiens au courant des nouvelles technologies et des nouveaux outils.

J'ai fait une lecture rapide du documentation, bien que VSCode supporte plusieurs langues, la page fait référence à VS Code Marketplace pour les extensions, et ruby en fait partie. Maintenant, l'extension ruby ​​prétend avoir IntelliSense et la saisie semi-automatique, mais si cela ne détecte pas votre API, vous devrez peut-être créer votre propre language extension. Je suppose que si votre Ruby est une API, comme vous l'avez dit, alors VSCode n'a pas accès à l'interface afin de fournir les prédictions possibles. Peut-être que si vous pouviez obtenir le code source de l'API VSCode détecterait les interfaces, et la vie serait beaucoup plus facile.

Quoi qu'il en soit, un coup d'oeil à la extensionAPI7Language-support Il explique comment créer

  • code source des extraits
  • Afficher le code propositions d'achèvement

les deux doivent alors être configurés manuellement.

+0

vous savez s'il est possible d'étendre un serveur de langue existant? Il semble être aussi exagéré de réimplémenter intellisense et auto-complet pour Ruby que de pouvoir fournir du code complet pour notre API. La façon dont RubyMine semble fonctionner est qu'elle analyse le Gemfile et inclut la saisie semi-automatique pour les gemmes listées. Cela a rendu très facile le fait de nourrir notre API en tant que stubs via une gemme. Avait espéré que VSCode avait une façon similaire de faire la même chose. – thomthom

+0

J'ai téléchargé la source à partir de rubyide/vscode-ruby et ils utilisent CompletionItme dans leur code, je suppose avant d'implémenter des changements dans ce que vous devriez leur demander directement, peut-être qu'il y a un meilleur moyen. Voyons voir si un autre laisse tomber un commentaire. –