ProvideLanguageServiceAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Informa Visual Studio che un VSPackage fornisce un servizio di linguaggio. Utilizzato con Managed Package Framework (MPF).
public ref class ProvideLanguageServiceAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideLanguageServiceAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideLanguageServiceAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideLanguageServiceAttribute = class
inherit RegistrationAttribute
Public NotInheritable Class ProvideLanguageServiceAttribute
Inherits RegistrationAttribute
- Ereditarietà
- Attributi
Esempio
In questo esempio viene illustrato come viene usato questo attributo definito dall'utente per registrare un servizio linguistico che supporta operazioni intelliSense, corrispondenza parentesi graffe, analisi asincrona (sfondo) e elementi coloribili personalizzati.
Nota
Visual C# consente una forma abbreviata di un attributo definito dall'utente eliminando la parte "Attributo" del nome. Questo modulo a breve viene usato in questo e tutti gli altri esempi in questa classe.
using Microsoft.VisualStudio.Shell;
namespace MyLanguagePackage
{
internal class MyConstants
{
public const string languageName = "MyLanguage";
public const int languageNameResourceID = 106;
}
[ProvideLanguageService(typeof(MyLanguageService),
MyConstants.languageName,
MyConstants.languageNameResourceID,
// Optional language service properties
CodeSense = true, // General IntelliSense support
RequestStockColors = false, // Custom colorable items
EnableASyncCompletion = true, // supports background parsing
MatchBraces = true, // Match braces on command
MatchBracesAtCaret = true // Match braces while typing
)]
class MyLanguagePackage
{
}
}
Commenti
Questo attributo definito dall'utente (specifico per Visual C#) viene usato per fornire informazioni necessarie per registrare un servizio del linguaggio con Visual Studio. I valori specificati da questo attributo vengono archiviati come metadati nell'assembly. Questi metadati vengono usati in seguito da un programma, ad esempio regpkg.exe (parte di VSIP SDK) per creare le chiavi e le voci del Registro di sistema corrispondenti che indicano a Visual Studio il servizio linguistico.
Le voci del Registro di sistema interessate dall'oggetto ProvideLanguageServiceAttribute sono disponibili nella chiave del Registro di sistema seguente:
HKEY_LOCAL_MACHINE\
SOFTWARE\
Microsoft\
VisualStudio\
[X.Y]\
Languages\
Language Services\
[language name]\
(Default) = reg_sz: [Language Service GUID]
Package = reg_sz: [Package GUID]
LangResID = reg_dword: [language name resource ID]
Dove [X.Y] è la versione di Visual Studio, ad esempio 8.0Exp e [nome lingua] è il nome della lingua (come specificato nel secondo parametro per il costruttore della ProvideLanguageServiceAttribute classe).
Nota
Ogni proprietà specifica la voce esatta del Registro di sistema che influisce in modo che tali voci non vengano visualizzate nell'esempio precedente. Tali voci aggiuntive vengono visualizzate allo stesso livello delle tre voci visualizzate.
Il costruttore della classe specifica i parametri minimi necessari. Una classe di attributo definita dall'utente supporta anche parametri denominati facoltativi. Questi parametri denominati vengono specificati nell'elenco dei parametri del costruttore dopo i parametri necessari. Tutte le proprietà di questa classe che supportano sia gli operatori get che set possono essere specificati come parametro denominato. Nell'esempio viene illustrato il modo in cui vengono usati i parametri denominati.
Nota
Alcuni dei parametri denominati sono specifici del framework del pacchetto gestito (MPF) e questi sono indicati in ogni descrizione della proprietà.
Gli attributi definiti dall'utente seguenti vengono usati per i servizi linguistici:
Attributo | Descrizione |
---|---|
ProvideLanguageServiceAttribute | Registra il servizio linguistico con Visual Studio e specifica quali funzionalità sono supportate. |
ProvideLanguageExtensionAttribute | Associa un'estensione di file al servizio di lingua. |
ProvideLanguageEditorOptionPageAttribute | Specifica un nodo di proprietà o una pagina per la finestra di dialogo Opzioni specifica del servizio linguistico. |
ProvideLanguageCodeExpansionAttribute | Specifica le informazioni sulla posizione per supportare frammenti di codice nel servizio linguaggio. |
ProvideServiceAttribute | Registra un servizio linguistico come servizio Visual Studio. Tutti i servizi forniti nel codice gestito usano questo attributo. |
Note per gli eredi
Questa classe di attributi non può essere ereditata da in modo che non sia necessario implementare nulla.
Note per i chiamanti
Questa classe di attributi viene in genere applicata alla classe VSPackage primaria, anche se può essere visualizzata in qualsiasi classe. Questa classe deve essere visualizzata una sola volta per ogni servizio linguistico supportato da VSPackage.
Costruttori
ProvideLanguageServiceAttribute(Object, String, Int32) |
Inizializza una nuova istanza della classe Shell.ProvideLanguageServiceAttribute. |
Proprietà
AutoOutlining |
Determina se il servizio di linguaggio supporta la struttura automatica. |
CodeSense |
Determina se il servizio di linguaggio supporta le operazioni IntelliSense. |
CodeSenseDelay |
Determina la quantità di tempo prima che un'operazione di analisi venga avviata per supportare un'operazione IntelliSense. |
DebuggerLanguageExpressionEvaluator |
Determina l'analizzatore di espressioni utilizzato per la valutazione delle espressioni. |
DefaultToInsertSpaces |
Determina l'impostazione predefinita per l'opzione Inserisci spazi nella finestra di dialogo Opzioni per un servizio linguistico. |
DefaultToNonHotURLs |
Determina l'impostazione iniziale dell'opzione Abilita spostamento URL a clic singolo nella finestra di dialogo Opzioni. |
EnableAdvancedMembersOption |
Determina se l'opzione Nascondi membri avanzati è abilitata nella finestra di dialogo Opzioni. |
EnableAsyncCompletion |
Determina se il linguaggio supporta l'analisi in background. |
EnableCommenting |
Determina se il servizio di linguaggio può commentare e rimuovere commenti nel codice sorgente utilizzando un unico comando. |
EnableFormatSelection |
Determina se il servizio di linguaggio supporta la formattazione automatica del codice sorgente. |
EnableLineNumbers |
Determina se l'opzione Numeri di riga può essere selezionata nella finestra di dialogo Opzioni. |
FontColorDefaults |
Informa Visual Studio che un VSPackage fornisce un servizio di linguaggio. Utilizzato con Managed Package Framework (MPF). |
HideAdvancedMembersByDefault |
Determina lo stato iniziale dell'opzione Nascondi membri avanzati nella finestra di dialogo Opzioni. |
LanguageName |
Restituisce il nome del linguaggio. |
LanguageResourceID |
Restituisce l'ID risorsa utilizzato per ottenere la versione localizzata del nome della lingua. |
LanguageServiceSid |
Informa Visual Studio che un VSPackage fornisce un servizio di linguaggio. Utilizzato con Managed Package Framework (MPF). |
MatchBraces |
Determina se il servizio di linguaggio supporta coppie di linguaggi corrispondenti. |
MatchBracesAtCaret |
Determina se un servizio di linguaggio supporta coppie di linguaggi corrispondenti durante la digitazione. |
MaxErrorMessages |
Determina il numero massimo di messaggi di errore che un servizio di linguaggio può segnalare per un'operazione di analisi. |
QuickInfo |
Determina se il servizio lingua supporta le informazioni rapide intelliSense. |
RequestStockColors |
Determina se il servizio linguistico usa gli elementi coloribili predefiniti forniti da Visual Studio. |
ShowCompletion |
Determina se le opzioni di completamento istruzione sono abilitate nella finestra di dialogo Opzioni. |
ShowDropDownOptions |
Determina se l'opzione Barra di spostamento è abilitata nella finestra di dialogo Opzioni. |
ShowHotURLs |
Determina se gli URL vengono visualizzati in modo da mostrare che possono essere cliccati. Questa opzione non viene utilizzata. |
ShowMatchingBrace |
Determina se la coppia di linguaggi corrispondente viene visualizzata nella barra di stato. |
ShowSmartIndent |
Determina se l'opzione rientro intelligente è abilitata nella finestra di dialogo Opzioni. |
SingleCodeWindowOnly |
Determina se il comando Window -> New Window è disabilitato per un servizio linguistico. |
SupportCopyPasteOfHTML |
Determina se il servizio di linguaggio supporta il formato degli Appunti HTML per le operazioni di copia e incolla. |
TypeId |
Eseguire l'override della proprietà TypeID per consentire alle classi derivate di RegistrationAttribute di funzionare con System.ComponentModel.TypeDescriptor.GetAttributes(...). Un attributo derivato da questo elemento dovrà eseguire l'override di questa proprietà solo se necessita di un controllo migliore sulle istanze che possono essere applicate a una classe. (Ereditato da RegistrationAttribute) |
Metodi
GetPackageRegKeyPath(Guid) |
Ottiene il percorso del Registro di sistema (relativo alla radice del Registro di sistema dell'applicazione) del pacchetto VS. (Ereditato da RegistrationAttribute) |
Register(RegistrationAttribute+RegistrationContext) |
Crea tutte le chiavi del Registro di sistema e le voci specificate dal costruttore di classe. |
Unregister(RegistrationAttribute+RegistrationContext) |
Rimuove tutte le chiavi del Registro di sistema e le voci specificate dal costruttore di classe. |