Document 類別

定義

表示屬於專案的原始程式碼檔。 它可讓您存取源文字、剖析的語法樹狀結構,以及對應的語意模型。

public ref class Document : Microsoft::CodeAnalysis::TextDocument
[System.Diagnostics.DebuggerDisplay("{GetDebuggerDisplay(),nq}")]
public class Document : Microsoft.CodeAnalysis.TextDocument
[<System.Diagnostics.DebuggerDisplay("{GetDebuggerDisplay(),nq}")>]
type Document = class
    inherit TextDocument
Public Class Document
Inherits TextDocument
繼承
Document
衍生
屬性

屬性

FilePath

檔檔案的路徑,如果沒有檔檔,則為 null。

(繼承來源 TextDocument)
Folders

檔所包含的邏輯資料夾順序。

(繼承來源 TextDocument)
Id

檔的識別碼。 許多檔實例可能會共用相同的識別碼,但方案中只有一份檔可能有該識別碼。

(繼承來源 TextDocument)
Name

文件的名稱。

(繼承來源 TextDocument)
Project

此檔所屬的專案。

(繼承來源 TextDocument)
SourceCodeKind

此檔包含的原始程式碼類型。

SupportsSemanticModel

true 如果本檔支援透過 方法提供資料,則為 GetSemanticModelAsync(CancellationToken)

如果 false 接著,該方法會改為傳回 null

SupportsSyntaxTree

true 如果本檔支援透過 GetSyntaxTreeAsync(CancellationToken)GetSyntaxRootAsync(CancellationToken) 方法提供資料,則為 。

如果 false 這些方法會改為傳回 null

方法

GetLinkedDocumentIds()

取得連結至這個 DocumentDocumentId 清單。 Document如果它們共用相同的 FilePath ,則會被視為連結。 這會 DocumentId 從結果中排除。

GetOptionsAsync(CancellationToken)

傳回應該套用至此檔的選項。 這包含 的 Options 全域選項,與使用者已在檔層級指定的任何設定合併。

GetSemanticModelAsync(CancellationToken)

以非同步方式取得此檔的語意模型。

GetSyntaxRootAsync(CancellationToken)

以非同步方式取得語法樹狀結構的根節點。

GetSyntaxTreeAsync(CancellationToken)

SyntaxTree以非同步方式取得此檔的 。

GetSyntaxVersionAsync(CancellationToken)

取得語法樹狀結構的版本。 這通常是較新的文字版本和專案的版本。

GetTextAsync(CancellationToken)

以非同步方式取得檔的目前文字。

(繼承來源 TextDocument)
GetTextChangesAsync(Document, CancellationToken)

取得此檔與相同檔舊版之間的文字變更。 套用至舊檔的文字時,這些變更會產生目前檔的文字。

GetTextVersionAsync(CancellationToken)

取得檔的文字版本。

(繼承來源 TextDocument)
TryGetSemanticModel(SemanticModel)

如果模型已經計算且仍然快取,則取得本檔的目前語意模型。 在幾乎所有情況下,您應該呼叫 GetSemanticModelAsync(CancellationToken) ,以在必要時計算語意模型。

TryGetSyntaxRoot(SyntaxNode)

如果語法樹狀結構已經剖析且樹狀結構仍然快取,則取得目前語法樹狀結構的根節點。 在幾乎所有情況下,您應該呼叫 GetSyntaxRootAsync(CancellationToken) 來擷取根節點,以在必要時剖析檔。

TryGetSyntaxTree(SyntaxTree)

如果文字已經載入且樹狀結構已經剖析,則取得檔的目前語法樹狀結構。 在幾乎所有情況下,您應該呼叫 GetSyntaxTreeAsync(CancellationToken) 來擷取樹狀結構,如果樹狀結構尚未剖析,則會剖析樹狀結構。

TryGetSyntaxVersion(VersionStamp)

如果已載入文字且已剖析樹狀結構,請取得檔的目前語法樹狀結構版本。 在幾乎所有情況下,您應該呼叫 GetSyntaxVersionAsync(CancellationToken) 以擷取版本,如果尚未提供,則會載入樹狀結構。

TryGetText(SourceText)

如果檔已載入且可供使用,請取得檔的目前文字。

(繼承來源 TextDocument)
TryGetTextVersion(VersionStamp)

如果檔已經載入且可用,則取得檔的文字版本。

(繼承來源 TextDocument)
WithFilePath(String)

建立此檔的新實例,更新為具有指定的檔案路徑。

WithFolders(IEnumerable<String>)

建立此檔的新實例,更新為具有指定的資料夾。

WithName(String)

建立此檔的新實例,更新為具有指定的名稱。

WithSourceCodeKind(SourceCodeKind)

建立此檔的新實例,更新為指定原始程式碼種類。

WithSyntaxRoot(SyntaxNode)

建立本檔的新實例,更新為讓語法樹狀結構由指定的語法節點進行根目錄。

WithText(SourceText)

建立此檔的新實例,更新為指定文字。

適用於