Classe LanguageService
Si tratta della classe base per un servizio di linguaggio che fornisce le funzionalità del linguaggio incluso evidenziazione della sintassi, la corrispondenza di parentesi graffe, il completamento automatico, il supporto IntelliSense e l'espansione del frammento di codice.
Questa API non è conforme a CLS.
Gerarchia di ereditarietà
System.Object
Microsoft.VisualStudio.Package.LanguageService
Spazio dei nomi: Microsoft.VisualStudio.Package
Assembly: Microsoft.VisualStudio.Package.LanguageService.9.0 (in Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Microsoft.VisualStudio.Package.LanguageService.10.0 (in Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (in Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService (in Microsoft.VisualStudio.Package.LanguageService.dll)
Sintassi
'Dichiarazione
<CLSCompliantAttribute(False)> _
<ComVisibleAttribute(True)> _
Public MustInherit Class LanguageService _
Implements IDisposable, IVsLanguageInfo, IVsLanguageDebugInfo, IVsProvideColorableItems, _
IVsLanguageContextProvider, IServiceProvider, IObjectWithSite, ISynchronizeInvoke, IVsDebuggerEvents, _
IVsFormatFilterProvider
[CLSCompliantAttribute(false)]
[ComVisibleAttribute(true)]
public abstract class LanguageService : IDisposable,
IVsLanguageInfo, IVsLanguageDebugInfo, IVsProvideColorableItems, IVsLanguageContextProvider, IServiceProvider,
IObjectWithSite, ISynchronizeInvoke, IVsDebuggerEvents, IVsFormatFilterProvider
Il tipo LanguageService espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
LanguageService | Inizializza una nuova istanza di LanguageService classe. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
InvokeRequired | Determina se un metodo deve essere chiamato tramite un limite del thread. | |
IsActive | Determina se il servizio di linguaggio è connesso alla visualizzazione corrente e pertanto è attivo. | |
IsDebugging | Stabilisce se il debugger è attivo. | |
IsParsing | Determina se un di traccia in background è in corso. | |
LastActiveTextView | Restituisce l'ultima visualizzazione di testo attiva associata al servizio di linguaggio. | |
MainThreadId | Restituisce l'id del thread che il servizio di linguaggio viene eseguito. | |
Name | Restituisce il nome del linguaggio, ad esempio “C++„ o “HTML„). | |
ParseThreadIsAlive | ||
ParseThreadPaused | ||
Preferences | Fornisce l'accesso alle preferenze del servizio di linguaggio. | |
Site | Restituisce il provider di servizi fornita al servizio di linguaggio. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
AbortBackgroundParse | ||
AddCodeWindowManager | Aggiunge un amministratore di finestra del codice al servizio di linguaggio. | |
BeginInvoke | richiama un metodo su un altro thread. | |
BeginParse | Avvia un'operazione di analisi in un thread in background. | |
CanStopThread | ||
CreateCodeWindowManager | Creare un'istanza di un oggetto CodeWindowManager classe. | |
CreateDocumentProperties | Creare un'istanza di un oggetto DocumentProperties classe. | |
CreateDropDownHelper | Creare un'istanza di un oggetto TypeAndMemberDropdownBars classe. | |
CreateExpansionFunction | creare un'istanza ExpansionFunction classe. | |
CreateExpansionProvider | creare un'istanza ExpansionProvider classe. | |
CreateParseRequest | Crea una richiesta per soddisfare il motivo specificato per analizzare che viene quindi passato al parser. | |
CreateSource | Creare un'istanza di un oggetto Source classe. | |
CreateViewFilter | Creare un'istanza di un oggetto ViewFilter classe. | |
CurFileExtensionFormat | Restituisce l'indice nell'elenco di estensioni di file che corrisponde all'estensione del nome file specificato. | |
DispatchCommand(Guid, UInt32, IntPtr, IntPtr) | chiamato per eseguire il comando specificato. | |
DispatchCommand(Guid, UInt32, UInt32, IntPtr, IntPtr) | ||
Dispose | Chiamato quando l'oggetto del servizio di linguaggio di distruggendosi. | |
EndInvoke | Recupera il risultato di una chiamata asincrona avviata da LanguageService.BeginInvoke. | |
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) | |
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) | |
GetCodeWindowManager | Creare un'istanza di un oggetto CodeWindowManager classe. | |
GetCodeWindowManagerForSource | restituisce CodeWindowManager oggetto associato a specificato Source oggetto. | |
GetCodeWindowManagerForView | restituisce CodeWindowManager associato a specificato IVsTextView oggetto. | |
GetColorableItem | restituisce richiesto IVsColorableItem oggetto. | |
GetColorizer(IVsTextLines) | Iinstantiates a Colorizer classe. | |
GetColorizer(IVsTextLines, IVsColorizer%) | Restituisce il colorizer associato a un oggetto Source oggetto che contiene l'oggetto specificato IVsTextLines oggetto. | |
GetFileExtensions | Restituisce una stringa contenente le estensioni di file associato al linguaggio. | |
GetFormatFilterList | Restituisce un elenco dei filtri dell'estensione di file appropriati per un oggetto Salva con nome finestra di dialogo. | |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) | |
GetImageList | Restituisce un elenco immagini che contiene glifi associati al servizio di linguaggio. | |
GetItemCount | Restituisce il numero di elementi colorabili personalizzati supportati dal servizio di linguaggio. | |
GetIVsDebugger | restituisce IVsDebugger oggetto che rappresenta il debugger attualmente disponibile per l'ascolto degli eventi del debugger. | |
GetIVsTextMacroHelperIfRecordingOn | restituisce IVsTextMacroHelper l'oggetto se la registrazione è attivata. | |
GetLanguageID | Restituisce il linguaggio GUID del servizio di linguaggio. | |
GetLanguageName | Restituisce il nome del linguaggio handle del servizio di linguaggio. | |
GetLanguagePreferences | Restituisce un oggetto LanguagePreferences oggetto per il servizio di linguaggio. | |
GetLanguageServiceGuid | Restituisce il GUID del servizio di linguaggio. | |
GetLocationOfName | metodo obsoleto che restituisce sempre E_NOTIMPL. | |
GetNameOfLocation | Restituisce il nome dell'elemento contenitore contenente la posizione specificata. | |
GetOrCreateSource | ||
GetParseResult | Ottiene il risultato dell'operazione di analisi. | |
GetPrimaryViewForSource | ||
GetProximityExpressions | Restituisce un elenco di espressioni da valutare e indicarne automobili finestra, per un intervallo specificato di righe. | |
GetScanner | restituisce una singola creazione di istanze di un parser. | |
GetService | Restituisce un oggetto servizio che è possibile eseguire il cast in una specifica interfaccia. | |
GetSite | Restituisce un puntatore unmarshaled a un'interfaccia richiesta. | |
GetSource(IVsTextLines) | Restituisce un oggetto esistente Source l'oggetto che contiene il buffer specificato del database di origine. | |
GetSource(IVsTextView) | Restituisce un oggetto esistente Source l'oggetto che contiene il file di origine riportato nella visualizzazione di testo specificata. | |
GetSource(String) | Restituisce un oggetto esistente Source oggetto assegnato un nome file. | |
GetSources | Restituisce una raccolta di Source oggetti gestiti dal servizio di linguaggio. | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
Initialize | chiamato per inizializzare il servizio di linguaggio. | |
Invoke | Chiamato per richiamare un'attività specificata dal delegato specificato. | |
IsMacroRecordingOn | Chiamato per determinare se la registrazione è attivata. | |
IsMappedLocation | Chiamato per determinare se la posizione specificata nel codice di riferimenti specificato del file di origine in un altro file. | |
IsSourceOpen | Determina se il file di origine viene aperto. | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
OnActiveViewChanged | Chiamato quando la visualizzazione corrente è stato modificato a una visualizzazione diversa. | |
OnCaretMoved | Chiamato quando il cursore è spostato. | |
OnChangesCommitted | Chiamato quando le modifiche generate da un'operazione dei frammenti di codice o di completamento automatico di espansione viene eseguito il commit nel buffer. | |
OnCloseSource | chiamato per chiudere specificato Source oggetto. | |
OnIdle | Chiamato quando nessun altro evento deve essere gestito. | |
OnModeChange | Chiamato ogni volta che la modalità di debug è cambiato durante il debug. | |
OnParseAborted | ||
OnParseComplete | Chiamato quando un di traccia in background è stato completato. | |
OpenDocument | Aprire il file specificato. | |
ParseSource | Analizza il database di origine basato su specificato ParseRequest oggetto. | |
QueryInvalidEncoding | Determina se il formato di origine fornito è valido o meno. | |
QueryService | Restituisce l'interfaccia di richiesta dal servizio specificato. | |
QueryWaitForAutoOutliningCallback | ||
RemoveCodeWindowManager | Chiamato quando la visualizzazione associata a specificato CodeWindowManager verrà chiusa. | |
ResolveName | Restituisce un elenco di nomi del metodo che corrispondono al nome specificato modificato dai flag specificati. | |
ScrollToEnd(IVsTextView) | Aggiorna la visualizzazione specificata per mostrare la fine del file di origine. | |
ScrollToEnd(IVsWindowFrame) | Aggiorna la visualizzazione della struttura della finestra specificata per mostrare la fine del file di origine. | |
SetSite | Chiamato per impostare o posizionare il provider di servizi per questo servizio di linguaggio. | |
SetUserContextDirty | Contrassegna il contesto utente come modificato nel buffer di origine specificato. | |
SynchronizeDropdowns | Chiamato per aggiornare una barra a discesa basata sulla posizione corrente del cursore. | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) | |
UpdateLanguageContext | Aggiorna il contesto corrente della guida utente in un'area selezionata del database di origine specificato. | |
ValidateBreakpointLocation | chiamato per determinare se la posizione specificata può avere un punto di interruzione applicato a. |
In alto
Implementazioni esplicite dell'interfaccia
Nome | Descrizione | |
---|---|---|
IVsFormatFilterProvider.CurFileExtensionFormat | Restituisce l'indice nell'elenco di estensioni di file che corrisponde all'estensione del nome file specificato. | |
IVsFormatFilterProvider.GetFormatFilterList | Restituisce un elenco dei filtri dell'estensione di file appropriati per un oggetto Salva con nome finestra di dialogo. | |
IVsFormatFilterProvider.QueryInvalidEncoding | Determina se il formato di origine fornito è valido o meno. | |
IVsLanguageContextProvider.UpdateLanguageContext | Aggiorna il contesto corrente della guida utente fornito un'area selezionata del database di origine specificato. |
In alto
Note
Visual Studio servizi di linguaggio vengono utilizzati per fornire supporto per i linguaggi di codice.un servizio di linguaggio è registrato con Visual Studio quando il pacchetto del servizio di linguaggio è installato.La parte del processo di registrazione associare un'estensione di file con un servizio di linguaggio in qualsiasi momento un file con tale estensione viene caricato, il servizio di linguaggio viene caricata.
LanguageService la classe è la classe base per il servizio di linguaggio.Visual Studio creare un'istanza del package VS che implementa il servizio di linguaggio e chiama SetSite metodo nel package VS.Nell'implementazione del metodo, Initialize metodo su Package la classe base è denominata.eseguire l'override Initialize metodo per creare un'istanza del servizio di linguaggio.Ricordare chiamare SetSite metodo sul servizio di linguaggio dopo la creazione di istanze.
Note per gli implementatori
Derivare la classe da questa classe per creare diventi proprietaria del servizio di linguaggio.È inoltre necessario, per lo meno, implementare un parser che implementa IScanner interfaccia.Tutte le funzionalità di un servizio di linguaggio sono basate sul parser.
I seguenti metodi e le proprietà sono contrassegnati come astratta e devono essere implementati in gatto derivato classe LanguageService classe:
Metodo/proprietà da distribuire |
descrizione |
---|---|
Un metodo che restituisce un'LanguagePreferences oggetto. |
|
un metodo che restituisce IScanner oggetto. |
|
un metodo che analizza il database di origine. |
|
Una proprietà di sola lettura che restituisce il nome della lingua |
Se non si intende supportare ValidateBreakpointLocation ma il linguaggio supporta i punti di interruzione, è necessario eseguire l'override di ValidateBreakpointLocation il metodo e restituisce un intervallo che contiene la riga e la colonna specificata; in caso contrario, i punti di interruzione non possono essere impostati in qualsiasi posizione eccetto la riga 1.È possibile restituire E_NOTIMPL per indicare che non supportate in caso contrario questo metodo ma l'intervallo è necessario impostare sempre.l'esempio in ValidateBreakpointLocation il metodo mostra come tale operazione.
Note per i chiamanti
Registrare il servizio di linguaggio quando si installa il pacchetto VS (ciò potrebbe essere un pacchetto dedicato al servizio di linguaggio o un pacchetto di progetto che garantisce un servizio di linguaggio).Creare un'istanza si possiede il servizio di linguaggio durante l'inizializzazione del pacchetto.Visual Studio interagisce con il servizio di linguaggio per visualizzare il codice scritto nel linguaggio supportato dal servizio di linguaggio.Vedere l'esempio di seguito per quali la registrazione di linguaggio può essere eseguita.
Esempi
Nell'esempio seguente viene illustrato come registrare e inizializzare il servizio di linguaggio per il pacchetto.nota: MyLanguageService deriva da LanguageService classe.
using System.ComponentModel.Design;
using Microsoft.VisualStudio.Shell;
namespace MyLanguagePackage
{
/////////////////////////////////////////////
// Other package registration details go here
/////////////////////////////////////////////
// Offer a new language service
[ProvideServiceAttribute(typeof(MyLanguageService),
ServiceName = "My Language Service")]
// Register the language service with Visual Studio.
// "106" is the resource ID in the satellite DLL to the localized language name.
[ProvideLanguageServiceAttribute(typeof(MyLanguageService),"My Language",106)]
// Associate a file extension with our language service.
[ProvideLanguageExtensionAttribute(typeof(MyLanguageService), ".myext")]
class MyLanguagePackage : Package
{
protected override void Initialize()
{
base.Initialize();
IServiceContainer serviceContainer = this as IServiceContainer;
MyLanguageService languageService = new MyLanguageService();
languageService.SetSite(this);
serviceContainer.AddService(typeof(MyLanguageService),
languageService,
true);
}
}
}
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.VisualStudio.Package
Altre risorse
Panoramica del servizio di linguaggio (managed package Framework)