7
votes

Comment puis-je implémenter IntelliSense pour ma langue dans Visual Studio?

Je mentionne que je concevons une langue. Le plan était toujours de ne pas l'appliquer, mais de le concevoir, mais je envisage de la mettre en œuvre si je pense que je pourrais le faire dans une durée raisonnable.

Comment aurais-je mon langage utilise IntelliSense dans Visual Studios? Boolangstudio a http://www.codinginstinct.com/2008/ 05 / boo-in-visual-studio.html , http://www.codeplex.com/boolangstudio


0 commentaires

3 Réponses :


1
votes

Ce est un bon endroit pour chercher visual Extensibilité de studio.

Aussi, ici . Mais, le premier lien a une vidéo spécifique pour ajouter IntelliSense à votre service de langue.


0 commentaires

25
votes

Tout dépend de combien de temps vous voulez dépenser dessus. J'ai environ 2 000 heures de travail dans mes projets Visual Studio IntelliSense, ce qui compte exactement un service de langue surtout complet. Cela dit, ce n'est pas votre "moyenne" intellectuelle extension de Visual Studio - voir le Ensemble de fonctionnalités pour plus d'informations .

Voici quelques bonnes ressources à regarder. J'ai tendance à écrire avec une hypothèse selon laquelle les utilisateurs connaissent déjà les bases de l'extensibilité visuelle du studio et l'analyse d'Antlr. Si vous n'êtes pas, vous devriez probablement commencer à www.antlr.org et avec mon "port d'antlr" de L'un des Tutoriels de service de langue visuelle simples .

Voici quelques postes montrant à quel point je suis sérieux sur le sujet. : D

  • Comment fonctionne le code de code?
  • CODE SMART-CODE-COUPELION Original et revisité . Clairement, je prends ce dernier plus sérieusement que d'autres personnes (voté et voté pour fermer ?!), mais je crois que cela donne à mes utilisateurs un meilleur produit. :)
  • Lexing incrémental à grande vitesse pour la syntaxe en surbrillance Original (sous Lexers iScanner) , nettoyé (de manière significative - de manière significative à la original) et fabriqué encore une fois 6 fois plus vite dans 1/4 la mémoire .
  • Petites choses comme SANE COMMENTAIRE / COMMENTAIR ET Correspondance correspondante faire une différence. Sur une note latérale, une fois que vous avez utilisé un qui se comporte bien, les autres (y compris ceux pour certaines langues Microsoft dans Visual Studio) sont plutôt ennuyeux.
  • Si vous le pouvez, lisez tous les messages liés à IntelliSense sur mon blog.
  • Smart tiret est un pita (je veux dire vraiment intelligent, par exemple le service de langue C # dans VS2008). J'ai une relation amour / haine avec elle. Je suis ennuyé maintenant parce que l'écriture de cette balle m'a fait penser à ce sujet. Argh. Ma persighte ici me fait un peu pardonnant d'eux la rompre pour le VS2010 Beta 1, mais cela ne me empêche pas de manquer son génialité.

    PS: Je peux désormais créer une syntaxe surligneur pour une nouvelle langue commentaire / déconnexion en 1 jour. Dans le même jour, je suis aussi capable d'obtenir aussi les barres de type et membres.


2 commentaires

Si vous avez déjà envie de rejoindre un projet OSST intégrant une nouvelle langue dans VS, jetez un coup d'œil à Marvin Fulloo.info/examples/marvin ou Github.com/Runefs/Marvin


@ 280z28, j'ai également piraté avec une extensibilité Visual Studio. La question que je n'ai pas réussi à répondre est cependant: quel est le moyen "droit" de mettre en œuvre un service de langue pleinement soufflé, car VS2012 / VS2010 a? À l'heure actuelle, j'ai utilisé Mef pour tout mettre en œuvre (iwpftextViewcreationListener, iClassiifier, iquickinfosource, isignaturehelpsource, icomplétionsource), etc. Cela semble fonctionner, mais je me demande si la mise en œuvre d'Ilanguingingervice est une meilleure approche?



0
votes

A partir du 4-4-2017: Cet article semble donner toutes les bases de la création d'une extension de langue, qui inclut la mise en évidence des mots et la fourniture d'intellisense (achèvement du code).

https://code.visualstudio.com/docs/extensions/example -Language-serveur


0 commentaires