2009-08-09 12 views

risposta

1

This è un buon posto per cercare per Visual Studio Extensibility.

Inoltre, here. Ma il primo link ha un video specifico per aggiungere Intellisense al tuo servizio linguistico.

24

Tutto dipende da quanto tempo si vuole spendere per questo. Ho circa 2.000 ore di lavoro nei miei progetti di Visual Studio IntelliSense che danno come risultato esattamente un servizio linguistico per lo più completo. Detto questo, non è la tua estensione "media" IntelliSense per Visual Studio - vedi lo feature set for more info.

Ecco alcune buone risorse da guardare. Ho la tendenza a scrivere supponendo che gli utenti abbiano già familiarità con le nozioni di base sull'estensibilità di Visual Studio e con l'analisi con ANTLR. Se non lo sei, probabilmente dovresti iniziare da www.antlr.org e con la mia "porta ANTLR" di uno degli simple Visual Studio language service tutorials.

Ecco alcuni post che mostrano quanto sono serio sull'argomento. : D

  • How does code completion work?
  • intelligente completamento del codice e originalrevisited. Chiaramente prendo il secondo più seriamente rispetto agli altri (votato in ribasso e votato per chiudere ?!), ma credo che farlo solo offra ai miei utenti un prodotto migliore. :)
  • Lexing incrementale ad alta velocità per l'evidenziazione della sintassi original (under IScanner-friendly lexers), cleaned up (significantly - vastly preferable to the original) e reso yet again 6x faster in 1/4 the memory.
  • Piccole cose come sane commenting/uncommenting e brace matching fanno la differenza. Una nota a parte, una volta che ne usi una che è ben educata, le altre (incluse quelle per alcune lingue Microsoft in Visual Studio) sono piuttosto fastidiose.
  • Se è possibile, leggere tutti i post relativi a IntelliSense sul mio blog.
  • Il rientro intelligente è un PITA (intendo davvero intelligente, ad esempio il servizio di linguaggio C# in VS2008). Ho un rapporto di amore/odio con esso. Sono annoiato perché scrivere questo proiettile mi ha fatto riflettere. Argh. La mia intuizione qui mi rende un po 'clemente di averlo infranto per VS2010 Beta 1, ma non mi impedisce di perdere la sua bellezza.

PS: ora posso creare un evidenziatore di sintassi per un commento/commento di una nuova lingua in 1 giorno. Nello stesso giorno sono anche in grado di ottenere le barre membro tipo &.

+0

+1 per i riferimenti/link :-) – torial

+0

se mai voglia di partecipare a un progetto di OSS integrazione di una nuova lingua in VS poi dare un'occhiata a Marvin fulloo.info/Examples/Marvin o github.com/runefs/Marvin –

+1

@ 280Z28, ho anche hackerato con estensibilità di Visual Studio. La domanda a cui non sono stato in grado di rispondere è però: qual è il modo "GIUSTO" per implementare un servizio linguistico completo, come ha VS2012/VS2010? In questo momento ho utilizzato MEF per implementare tutto (IWpfTextViewCreationListener, IClassifier, IQuickInfoSource, ISignatureHelpSource, ICompletionSource) ecc. Sembra funzionare, ma mi chiedo se implementare ILanguageService sia un approccio migliore? –

Problemi correlati