Je souhaite écrire un nouveau langage de création de modèles et je souhaite que Visual Studio le «supporte». Ce que j'ai besoin de savoir, c'est:
- Comment analyser ma nouvelle langue?
Compte tenu du code dans mon nouveau langage de modèle, comment le traduire en HTML? À l'heure actuelle, j'utilise des expressions régulières pour l'analyser jeton par jeton, mais je ne pense pas que cela va très bien évoluer à mesure que le langage se complique et qu'il n'y a pas de vérification d'erreur. J'ai entendu parler d'ANTLR mais je ne l'ai jamais utilisé. Serait-ce le bon outil pour ce travail, ou y a-t-il peut-être quelque chose de plus simple? Idéalement, j'aimerais envoyer toutes les erreurs de syntaxe à la fenêtre d'erreur avec autant d'informations que possible (ligne #, type d'erreur) comme le font les autres langues. - Comment créer un nouveau type de fichier pour Visual Studio?
- Comment obtenir la coloration syntaxique?
Puis-je utiliser le même analyseur que j'ai créé à l'étape 1, ou est-ce quelque chose de complètement différent? - Comment obtenir Intellisense?
Je préférerais écrire mon analyseur en C #.
Il existe un exemple dans le SDK VS qui montre la plupart des fonctionnalités que vous recherchez.
la source
J'utilisais VS avec mon propre langage et j'avais désespérément besoin d'un accent sur la syntaxe . 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 dans VS2010. J'ai fait le mien en VS2012 avec aucun ou très petit hoquet. (a également travaillé dans VS2013) Récemment, j'ai changé pour VS2015 et la solution peut être modifiée, construite sans problème.
la source
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 du 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.
la source
Comme mentionné dans d'autres réponses, l'exemple de code le plus intéressant est l' extension de langage Ook pour la dernière version de Visual Studio (2017 au moment de la rédaction).
Pour VS 2015, consultez l' exemple dans la branche VS2015 .
Pour installer le SDK pour 2015 ou une version ultérieure, vous devez réexécuter l'installation de VS. En 2015, il s'appelle "Visual Studio Extensibility Tools Update 3".
la source