Attributi di supporto del sito Web
il progetto di sito Web di Visual Studio può essere esteso fornire il supporto per i linguaggi di programmazione Web. Il linguaggio necessario registrarsi con Visual Studio in modo da poter visualizzare i modelli di progetto nella finestra di dialogo di nuovo sito Web quando il linguaggio selezionato.
L'esempio dello studio di IronPython include il supporto del sito Web. È disponibile con Esempi di estensibilità di Visual Studio. Include le classi seguenti attributi per registrare IronPython come linguaggio di codebehind per i nuovi progetti Web.
WebSiteProjectAttribute
Questo attributo viene posizionato sul progetto del linguaggio. Tutti gli elementi iniziali quando si seleziona un tipo di progetto per un nuovo progetto. Ad esempio, di seguito aggiunge IronPython all'elenco:
[WebSiteProject("IronPython", "Iron Python")]public class PythonProjectPackage : ProjectPackage
Questo attributo viene inoltre imposta il percorso dei modelli per indicare i modelli la cartella. Per ulteriori informazioni sul percorso della cartella dei modelli, vedere Modelli di supporto del sito Web.
WebSiteProjectRelatedFilesAttribute
Questo attributo viene posizionato sul progetto del linguaggio. Consente il progetto di sito Web annidare un tipo di file (correlato) con un altro tipo di file (primario) in Esplora soluzioni.
Di seguito è riportato un esempio:
[WebSiteProjectRelatedFiles("aspx", "py")]public class PythonProjectPackage : ProjectPackage
specifica che un file di codebehind di IronPython è correlato a un file aspx. Quando una nuova pagina Web con estensione aspx viene creata in una soluzione di sito Web di IronPython, un nuovo file di origine di .py viene generato e verrà visualizzato come nodo figlio della pagina aspx.
ProvideIntellisenseProviderAttribute
Questo attributo viene posizionato sul pacchetto di progetto del linguaggio. Selezionare il provider di Intellisense per il linguaggio.
Di seguito è riportato un esempio:
[ProvideIntellisenseProvider(typeof(PythonIntellisenseProvider), "IronPythonCodeProvider", "Iron Python", ".py", "IronPython;Python", "IronPython")]public class PythonPackage : Package, IOleComponent
specifica che un'istanza di PythonIntellisenseProvider, che implementa IVsIntellisenseProject, deve essere su richiesta creato per fornire servizi di linguaggio.
L'implementazione di IVsIntellisenseProject gestisce i riferimenti e chiama il compilatore di linguaggio quando una pagina Web con il codice è necessaria ma non viene memorizzato nella cache.