Je veux écrire un nouveau langage de création de modèles et je veux que Visual Studio le "prenne en charge". Ce que je dois savoir c'est:
Je préfère écrire mon analyseur en C #.
Je voudrais jeter un oeil à un autre langage qui a déjà fait les démarches d'intégration avec Visual Studio. Un bon exemple est Boo. Le langage et l'intégration de Visual Studio sont open source. Vous pouvez donc voir exactement ce qu'ils devaient faire.
La mise en évidence de la syntaxe Boo pour VS2010 comprend des liens recommandés sur sa page d'accueil, que je copierai pour référence:
En ce qui concerne les aspects de Visual Studio, ce dont vous avez besoin est un "service linguistique", qui est l'entité qui gère la colorisation, l'intellisense, etc. pour une extension/type de fichier donné.
Pour une intro, voir cet article
Et pour un exemple de code voir ici
En ce qui concerne l'analyse, il existe de nombreuses technologies, et je ne donnerai pas d'avis/conseil.
Attention, il y a beaucoup de travail impliqué, même si à mon avis, il est beaucoup plus simple dans VS2010 que dans les versions précédentes de Visual Studio de fournir ce type d'extension.
Voir également
Extensibilité Visual Studio 2010, MPF et services linguistiques
J'ai écrit un service linguistique VS en utilisant cet article comme base: http://www.codeproject.com/KB/recipes/VSLanguageService.aspx
Ce n'était pas trop mal si vous avez une poignée de base sur les grammaires.
Il existe un exemple dans VS SDK qui montre la plupart des fonctionnalités que vous recherchez.
J'ai trouvé cette collection très utile d'exemples récents pour le SDK Visual Studio 2013: http://blogs.msdn.com/b/vsx/archive/2014/05/30/vs-2013-sdk-samples-released .aspx
Il contient également la version récente de l'OokLanguage qui semble prometteuse.
Nous avons utilisé ANTLR 4 pour analyser notre langage qui fonctionne comme un charme et permet une interaction directe avec le code C #. Je peux totalement le recommander.
J'utilisais VS avec sa propre langue et j'avais désespérément besoin d'une coloration syntaxique . J'ai construit le mien sur la base de ce tutoriel: https://mattduffield.wordpress.com/2012/07/31/writing-a-brightscript-syntax-highlight-extension-for-visual-studio-2010/ =
Je sais que le tutoriel est en VS2010. J'ai fait le mien dans VS2012 avec aucun ou très petit hoquet. (également travaillé dans VS2013) Récemment, j'ai changé pour VS2015 et la solution peut être éditée, construite sans problème.
Comme mentionné dans d'autres réponses, l'exemple de code le plus intéressant est le extension du langage Ook pour la dernière version de Visual Studio (2017 au moment de la rédaction).
Pour VS 2015, voir le exemple dans la branche VS2015 .
Pour installer le SDK pour 2015 ou version ultérieure, vous devez réexécuter la configuration VS. En 2015, il s'appelle "Visual Studio Extensibility Tools Update 3".