RunningDocumentTable 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.
Fornisce l'accesso alla tabella dei documenti in esecuzione (RDT) che tiene traccia di tutti i documenti attualmente aperti in Visual Studio.
public ref class RunningDocumentTable : System::Collections::Generic::IEnumerable<Microsoft::VisualStudio::Shell::RunningDocumentInfo>
public class RunningDocumentTable : System.Collections.Generic.IEnumerable<Microsoft.VisualStudio.Shell.RunningDocumentInfo>
type RunningDocumentTable = class
interface seq<RunningDocumentInfo>
interface IEnumerable
Public Class RunningDocumentTable
Implements IEnumerable(Of RunningDocumentInfo)
- Ereditarietà
-
RunningDocumentTable
- Implementazioni
Esempio
In questo esempio viene illustrato come usare questa classe da un servizio di linguaggio per ottenere il progetto proprietario di un file attualmente aperto nell'editor.
using Microsoft.VisualStudio.Package;
namespace MyLanguagePackage
{
public class MyLanguageService : LanguageService
{
IServiceProvider serviceProvider;
public IVsHierarchy GetOwningProject(Source src)
{
RunningDocumentTable rdt = new RunningDocumentTable(this.serviceProvider);
string filename = src.GetFilePath();
return rdt.GetHierarchyItem(filename);
}
}
}
Commenti
La tabella documento in esecuzione viene usata per tenere traccia di tutti i documenti attualmente aperti in Visual Studio, indipendentemente dal fatto che siano visibili o meno. Un VSPackage (vedere VSPackage) può accedere a RDT chiamando il IServiceProvider.QueryService metodo in un provider di servizi con l'ID servizio del SVsRunningDocumentTable servizio e il GUID dell'interfaccia IVsRunningDocumentTable .
Questa classe semplifica l'accesso a RDT per VSPackage nascondendo i dettagli dell'interfaccia IVsRunningDocumentTable dietro una raccolta di metodi utili. Si noti che la <xref:Microsoft.VisualStudio.Package.RunningDocumentTable> classe viene usata solo per accedere alle informazioni del documento. Per tenere traccia degli eventi RDT, è necessario ottenere l'interfaccia IVsRunningDocumentTable manualmente (tramite il IServiceProvider.QueryService metodo in un provider di servizi) e chiamare il AdviseRunningDocTableEvents metodo con la propria implementazione dell'interfaccia IVsRunningDocTableEvents (o dei relativi derivati).
La Source classe usa questa classe per ottenere il progetto proprietario di un documento durante la compilazione dell'elenco di elementi attività di errore per le finestre attività attività.
Note per i chiamanti
Creare un'istanza di questa classe per ottenere informazioni su un documento aperto. L'oggetto risultante viene in genere memorizzato nella cache per migliorare le prestazioni. Si noti che questa classe non fornisce l'accesso completo a RDT.
Costruttori
RunningDocumentTable() |
Crea un'istanza di una nuova istanza di RunningDocumentTable. |
RunningDocumentTable(IServiceProvider) |
Inizializza una nuova istanza della classe Microsoft.VisualStudio.Package.RunningDocumentTable. |
RunningDocumentTable(IVsRunningDocumentTable) |
Fornisce l'accesso alla tabella dei documenti in esecuzione (RDT) che tiene traccia di tutti i documenti attualmente aperti in Visual Studio. |
Metodi
Advise(IVsRunningDocTableEvents) |
Consente al client di ricevere eventi sulle modifiche apportate alla tabella documenti in esecuzione (RDT). |
CloseDocument(__FRAMECLOSE, UInt32) |
Chiude il documento. |
CloseHierarchy(__FRAMECLOSE, IVsHierarchy) |
Chiude la gerarchia del progetto. |
CloseSolution(__FRAMECLOSE) |
Chiude la soluzione. |
FindAndLockDocumentEx(_VSRDTFLAGS, String, IVsHierarchy, UInt32) |
Trova e blocca il documento. |
FindAndLockDocumentEx(_VSRDTFLAGS, String, IVsHierarchy, UInt32, IVsHierarchy, UInt32, UInt32) |
Trova e blocca il documento. |
FindAndLockDocumentEx(_VSRDTFLAGS, String, IVsHierarchy, UInt32, UInt32) |
Trova e blocca il documento. |
FindDocument(String) |
Ottiene un oggetto dalla tabella documenti in esecuzione (RDT) che rappresenta il documento specificato dal percorso indicato. |
FindDocument(String, IVsHierarchy, UInt32, UInt32) |
Ottiene un tipo di oggetto, cookie e progetto proprietario dalla tabella documenti in esecuzione (RDT) per il documento specificato dal percorso indicato. |
FindDocument(String, UInt32) |
Ottiene un cookie dalla tabella documenti in esecuzione (RDT) che rappresenta il documento specificato dal percorso indicato. |
FindOrRegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, Object) |
Fornisce l'accesso alla tabella dei documenti in esecuzione (RDT) che tiene traccia di tutti i documenti attualmente aperti in Visual Studio. |
FindOrRegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, Object, IVsHierarchy, UInt32, UInt32) |
Fornisce l'accesso alla tabella dei documenti in esecuzione (RDT) che tiene traccia di tutti i documenti attualmente aperti in Visual Studio. |
FindOrRegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, Object, UInt32) |
Fornisce l'accesso alla tabella dei documenti in esecuzione (RDT) che tiene traccia di tutti i documenti attualmente aperti in Visual Studio. |
GetDocumentInfo(String) |
Ottiene informazioni su un documento registrato nella tabella documenti in esecuzione, in base all'identificatore del documento. |
GetDocumentInfo(UInt32) |
Ottiene informazioni su un documento registrato nella tabella documenti in esecuzione, in base all'identificatore del documento. |
GetDocumentInfoAsync(String, CancellationToken) |
Fornisce l'accesso alla tabella dei documenti in esecuzione (RDT) che tiene traccia di tutti i documenti attualmente aperti in Visual Studio. |
GetDocumentInfoAsync(UInt32, CancellationToken) |
Fornisce l'accesso alla tabella dei documenti in esecuzione (RDT) che tiene traccia di tutti i documenti attualmente aperti in Visual Studio. |
GetEnumerator() |
Ottiene un enumeratore dei documenti nella tabella documenti in esecuzione. |
GetHierarchyItem(String) |
Ottiene il progetto a cui appartiene il documento specificato. |
GetRelatedSaveTreeItems(UInt32, UInt32) |
Ottiene una matrice di elementi della struttura ad albero di salvataggio. |
GetRunningDocumentContents(String) |
Viene utilizzata la Tabella documenti in esecuzione per ottenere il contenuto di un documento una volta fornito il percorso del documento. |
GetRunningDocumentContents(UInt32) |
Viene utilizzata la Tabella documenti in esecuzione per ottenere il contenuto di un documento una volta fornito il percorso del documento. |
LockDocument(_VSRDTFLAGS, UInt32) |
Ottiene un blocco di lettura o di modifica nel documento specificato. |
QueryCloseRunningDocument(String) |
Determina se il documento può essere chiuso. |
RegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, IntPtr) |
Crea una voce nella tabella documenti in esecuzione quando viene creato o aperto un documento. |
RenameDocument(String, String, IVsHierarchy, UInt32) |
Rinomina un documento e facoltativamente ne assegna la proprietà al progetto specificato. |
SaveFileIfDirty(String) |
Salva il file specificato se è stato modificato dall'ultimo salvataggio. |
Unadvise(UInt32) |
Indica che il client non è più interessato a ricevere eventi della tabella documenti in esecuzione (RDT). |
UnlockDocument(_VSRDTFLAGS, UInt32) |
Rilascia un blocco di lettura o di modifica nel documento aperto. |
Implementazioni dell'interfaccia esplicita
IEnumerable.GetEnumerator() |
Enumera i documenti nella tabella documenti in esecuzione. |
Metodi di estensione
EmptyIfNull<T>(IEnumerable<T>) |
Restituisce questa enumerazione nel caso in cui non sia Null. Nel caso in cui sia null restituisce un'enumerazione vuota. |