Chcę napisać nowy język szablonów i chcę, aby program Visual Studio go „obsługiwał”. Muszę wiedzieć:
- Jak przeanalizować nowy język?
Biorąc pod uwagę kod w moim nowym języku szablonów, jak przetłumaczyć go na HTML? W tej chwili używam wyrażeń regularnych do analizowania tego tokenu po tokenie, ale nie sądzę, żeby to się skalowało zbyt dobrze, ponieważ język staje się bardziej skomplikowany i nie ma sprawdzania błędów. Słyszałem o ANTLR, ale nigdy go nie używałem. Czy byłoby to właściwe narzędzie do tej pracy, czy może jest coś prostszego? Najlepiej byłoby, gdyby wszelkie błędy składni były wysyłane do okna błędu z możliwie największą ilością informacji (numer linii, typ błędu), tak jak robią to inne języki. - Jak utworzyć nowy typ pliku dla programu Visual Studio?
- Jak uzyskać podświetlanie składni?
Czy mogę użyć tego samego parsera, który utworzyłem w kroku 1, czy jest to coś zupełnie innego? - Jak uzyskać Intellisense?
Wolę pisać mój parser w C #.
W VS SDK znajduje się próbka, która przedstawia większość funkcji, których szukasz.
źródło
Używałem VS z własnym językiem i rozpaczliwie potrzebowałem podkreślenia składni . Zbudowałem mój na podstawie tego samouczka: https://mattduffield.wordpress.com/2012/07/31/writing-a-brightscript-syntax-highlight-extension-for-visual-studio-2010/
Wiem, że samouczek jest w VS2010. Zrobiłem swój w VS2012 bez lub bardzo małych czkawek. (działał również w VS2013) Niedawno przesiadłem się na VS2015 i rozwiązanie można edytować, budować bez problemu.
źródło
Znalazłem tę bardzo przydatną kolekcję najnowszych przykładów dla Visual Studio 2013 SDK: http://blogs.msdn.com/b/vsx/archive/2014/05/30/vs-2013-sdk-samples-released.aspx
Zawiera również najnowszą wersję języka OokLanguage, która brzmi obiecująco.
Użyliśmy ANTLR 4 do analizy naszego języka, który działa jak urok i umożliwia bezpośrednią interakcję z kodem C #. Całkowicie polecam.
źródło
Jak wspomniano w innych odpowiedziach, najciekawszym przykładem kodu jest rozszerzenie języka Ook dla najnowszej wersji programu Visual Studio (2017 w momencie pisania).
W przypadku VS 2015 zobacz przykład w gałęzi VS2015 .
Aby zainstalować pakiet SDK dla wersji 2015 lub nowszej, musisz ponownie uruchomić konfigurację VS. W 2015 r. Nosi nazwę „Visual Studio Extensibility Tools Update 3”.
źródło