Share via


Workspace 類別

定義

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

public ref class Workspace abstract : IDisposable
public abstract class Workspace : IDisposable
type Workspace = class
    interface IDisposable
Public MustInherit Class Workspace
Implements IDisposable
繼承
Workspace
衍生
實作

建構函式

Workspace(HostServices, String)

建構新的工作區實例。

屬性

CanOpenDocuments

如果此工作區支援手動開啟和關閉檔,則為 True。

CurrentSolution

目前的解決方案。

此解決方案是目前專案集和原始檔案的不可變模型。 它可讓您存取源文字、語法樹狀架構和語意。

當工作區回應環境中的變更或呼叫之後 TryApplyChanges(Solution) ,此屬性可能會變更。

Kind

工作區的種類。 這通常是 Host 源自主機環境,但可能是用於特定工作區類型的任何其他名稱。

Options
已淘汰.

取得或設定所有全域選項和 Options 的集合。 Setter 也會強制更新 CurrentSolution ,使 更新為 。 Options

PartialSemanticsEnabled

如果工作區支援檔的部分語意,請覆寫此屬性。

Services

主機用來實作工作區功能的服務提供者。

方法

AdjustReloadedProject(Project, Project)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

AdjustReloadedSolution(Solution, Solution)

這個方法會在 OnSolutionReload 期間呼叫。 如果您想要操作重載的解決方案,請覆寫這個方法。

ApplyAdditionalDocumentAdded(DocumentInfo, SourceText)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以將新的其他檔新增至專案。

覆寫此方法以實作新增其他檔的功能。

ApplyAdditionalDocumentRemoved(DocumentId)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以從專案移除其他檔。

覆寫此方法以實作移除其他檔的功能。

ApplyAdditionalDocumentTextChanged(DocumentId, SourceText)

呼叫這個方法來變更其他檔的文字。

覆寫此方法以實作變更其他檔文字的功能。

ApplyAnalyzerConfigDocumentAdded(DocumentInfo, SourceText)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以將新的分析器組態檔新增至專案。

覆寫此方法以實作新增分析器組態檔的功能。

ApplyAnalyzerConfigDocumentRemoved(DocumentId)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以從專案移除分析器組態檔。

覆寫此方法以實作移除分析器組態檔的功能。

ApplyAnalyzerConfigDocumentTextChanged(DocumentId, SourceText)

呼叫這個方法來變更分析器組態檔的文字。

覆寫這個方法,以實作變更分析器設定檔文字的功能。

ApplyAnalyzerReferenceAdded(ProjectId, AnalyzerReference)

此方法會在 期間 TryApplyChanges(Solution) 呼叫,以將分析器參考新增至專案。

覆寫此方法以實作新增分析器參考的功能。

ApplyAnalyzerReferenceRemoved(ProjectId, AnalyzerReference)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以從專案移除分析器參考。

覆寫此方法以實作移除分析器參考的功能。

ApplyCompilationOptionsChanged(ProjectId, CompilationOptions)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以變更編譯選項。

覆寫此方法以實作變更編譯選項的功能。

ApplyDocumentAdded(DocumentInfo, SourceText)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以將新檔新增至專案。

覆寫此方法以實作新增檔的功能。

ApplyDocumentInfoChanged(DocumentId, DocumentInfo)

呼叫這個方法來變更檔的資訊。

覆寫此方法以實作變更檔資訊的功能。

ApplyDocumentRemoved(DocumentId)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以從專案中移除檔。

覆寫此方法以實作移除檔的功能。

ApplyDocumentTextChanged(DocumentId, SourceText)

呼叫這個方法來變更檔的文字。

覆寫此方法以實作變更檔文字的功能。

ApplyMetadataReferenceAdded(ProjectId, MetadataReference)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以將中繼資料參考新增至專案。

覆寫此方法以實作新增中繼資料參考的功能。

ApplyMetadataReferenceRemoved(ProjectId, MetadataReference)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以從專案移除中繼資料參考。

覆寫此方法以實作移除中繼資料參考的功能。

ApplyParseOptionsChanged(ProjectId, ParseOptions)

此方法會在 期間 TryApplyChanges(Solution) 呼叫,以變更剖析選項。

覆寫此方法以實作變更剖析選項的功能。

ApplyProjectAdded(ProjectInfo)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以將專案新增至目前的方案。

覆寫此方法以實作新增專案的功能。

ApplyProjectChanges(ProjectChanges)

針對已新增、移除或變更的每個專案,呼叫這個 TryApplyChanges(Solution) 方法。

如果您想要修改套用專案變更的方式,請覆寫此方法。

ApplyProjectReferenceAdded(ProjectId, ProjectReference)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以將專案參考新增至專案。

覆寫此方法以實作新增專案參考的功能。

ApplyProjectReferenceRemoved(ProjectId, ProjectReference)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以從專案移除專案參考。

覆寫此方法以實作移除專案參考的功能。

ApplyProjectRemoved(ProjectId)

這個方法會在 期間 TryApplyChanges(Solution) 呼叫,以從目前的方案中移除專案。

覆寫此方法以實作移除專案的功能。

CanApplyChange(ApplyChangesKind)

判斷 方法是否支援 TryApplyChanges(Solution) 特定類型的變更。

CanApplyCompilationOptionChange(CompilationOptions, CompilationOptions, Project)

呼叫 TryApplyChanges(Solution) 期間呼叫 ,以判斷是否允許特定的變更 CompilationOptions

CanApplyParseOptionChange(ParseOptions, ParseOptions, Project)

呼叫 TryApplyChanges(Solution) 期間呼叫 ,以判斷是否允許特定的變更 ParseOptions

CheckAdditionalDocumentIsInCurrentSolution(DocumentId)

如果其他檔不是目前解決方案的一部分,則會擲回例外狀況。

CheckAdditionalDocumentIsNotInCurrentSolution(DocumentId)

如果其他檔已經是目前解決方案的一部分,則會擲回例外狀況。

CheckAnalyzerConfigDocumentIsInCurrentSolution(DocumentId)

如果分析器組態不是目前解決方案的一部分,則會擲回例外狀況。

CheckAnalyzerConfigDocumentIsNotInCurrentSolution(DocumentId)

如果分析器組態檔已經屬於目前解決方案的一部分,則會擲回例外狀況。

CheckCanOpenDocuments()

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

CheckDocumentCanBeRemoved(DocumentId)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

CheckDocumentIsClosed(DocumentId)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

CheckDocumentIsInCurrentSolution(DocumentId)

如果檔不是目前解決方案的一部分,則會擲回例外狀況。

CheckDocumentIsNotInCurrentSolution(DocumentId)

如果檔已經是目前解決方案的一部分,則會擲回例外狀況。

CheckDocumentIsOpen(DocumentId)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

CheckProjectCanBeRemoved(ProjectId)

目前專案一律可以移除,但此方法仍存在,因為它受到保護,而且我們不想中斷可能衍生自 Workspace 並呼叫它的人員,或加以覆寫。

CheckProjectDoesNotContainOpenDocuments(ProjectId)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

CheckProjectDoesNotHaveAnalyzerReference(ProjectId, AnalyzerReference)

如果專案已經有特定的分析器參考,則會擲回例外狀況。

CheckProjectDoesNotHaveMetadataReference(ProjectId, MetadataReference)

如果專案已經有特定的中繼資料參考,則會擲回例外狀況。

CheckProjectDoesNotHaveProjectReference(ProjectId, ProjectReference)

如果專案已經有特定的專案參考,則會擲回例外狀況。

CheckProjectDoesNotHaveTransitiveProjectReference(ProjectId, ProjectId)

如果專案有另一個專案的可轉移參考,則會擲回例外狀況。

CheckProjectHasAnalyzerReference(ProjectId, AnalyzerReference)

如果專案沒有特定的分析器參考,則會擲回例外狀況。

CheckProjectHasMetadataReference(ProjectId, MetadataReference)

如果專案沒有特定的中繼資料參考,則會擲回例外狀況。

CheckProjectHasProjectReference(ProjectId, ProjectReference)

如果專案沒有特定的專案參考,則會擲回例外狀況。

CheckProjectIsInCurrentSolution(ProjectId)

如果專案不屬於目前方案的一部分,則會擲回例外狀況。

CheckProjectIsNotInCurrentSolution(ProjectId)

擲回例外狀況是專案是目前解決方案的一部分。

CheckSolutionIsEmpty()

擲回例外狀況是解決方案不是空的。

ClearDocumentData(DocumentId)

系統會呼叫這個方法來清除個別檔。

如果您想要在移除檔時執行其他工作,請覆寫此方法。 在方法結尾呼叫基底方法。

ClearOpenDocument(DocumentId)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

ClearOpenDocument(DocumentId, Boolean)
已淘汰.

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

ClearProjectData(ProjectId)

移除個別專案時,會呼叫這個方法。

如果您想要在移除專案時執行其他工作,請覆寫此方法。 在方法結尾呼叫基底方法。

ClearSolution()

清除所有解決方案資料,並清空目前的解決方案。

ClearSolutionData()

清除解決方案時會呼叫這個方法。

如果您想要在清除解決方案時執行其他工作,請覆寫此方法。 在方法結尾呼叫基底方法。

這個方法會在保留鎖定時呼叫。 當覆寫為 innapropriate 工作時,請非常小心,可能會導致死結。

CloseAdditionalDocument(DocumentId)

關閉主機環境中的指定其他檔。

CloseAnalyzerConfigDocument(DocumentId)

關閉主機環境中的指定分析器組態檔。

CloseDocument(DocumentId)

關閉主機環境中的指定檔。

CreateSolution(SolutionId)

建立與此工作區相關聯的新空白解決方案實例。

CreateSolution(SolutionInfo)

建立與此工作區相關聯的新空白解決方案實例。

Dispose()

處置此工作區。 在處置工作區之後,可以使用該工作區。

Dispose(Boolean)

處置工作區時呼叫這個方法。

覆寫這個方法,以在處置工作區時執行其他工作。 在方法結尾呼叫這個方法。

GetAdditionalDocumentName(DocumentId)

取得錯誤訊息中用於其他檔的名稱。

GetAnalyzerConfigDocumentName(DocumentId)

取得錯誤訊息中用於分析器檔的名稱。

GetDocumentIdInCurrentContext(SourceTextContainer)

取得與目前內容中指定文字容器相關聯的檔識別碼。 開啟檔時,檔通常會與文字容器相關聯。

GetDocumentName(DocumentId)

取得錯誤訊息中檔使用的名稱。

GetOpenDocumentIds(ProjectId)

取得目前開啟的檔案清單。

GetProjectName(ProjectId)

取得錯誤訊息中專案使用的名稱。

GetRelatedDocumentIds(SourceTextContainer)

取得與指定 container 相關聯之 CurrentSolution 快照集中檔的識別碼。 開啟檔時,檔通常會與文字容器相關聯。

GetWorkspaceRegistration(SourceTextContainer)

WorkspaceRegistration 回指定文字容器的 。

IsDocumentOpen(DocumentId)

判斷檔目前是否在主機環境中開啟。

OnAdditionalDocumentAdded(DocumentInfo)

將其他檔新增至主環境中的專案時,請呼叫此方法。

OnAdditionalDocumentClosed(DocumentId, TextLoader)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

OnAdditionalDocumentOpened(DocumentId, SourceTextContainer, Boolean)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

OnAdditionalDocumentRemoved(DocumentId)

從主環境中的專案移除其他檔時,請呼叫此方法。

OnAdditionalDocumentTextChanged(DocumentId, SourceText, PreservationMode)

在主機環境中更新其他檔的文字時,呼叫這個方法。

OnAdditionalDocumentTextLoaderChanged(DocumentId, TextLoader)

當磁片上變更其他檔的文字時,請呼叫這個方法。

OnAnalyzerConfigDocumentAdded(DocumentInfo)

將分析器組態檔新增至主環境中的專案時,請呼叫此方法。

OnAnalyzerConfigDocumentClosed(DocumentId, TextLoader)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

OnAnalyzerConfigDocumentOpened(DocumentId, SourceTextContainer, Boolean)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

OnAnalyzerConfigDocumentRemoved(DocumentId)

當分析器組態檔從主機環境中的專案中移除時,請呼叫此方法。

OnAnalyzerConfigDocumentTextChanged(DocumentId, SourceText, PreservationMode)

在主機環境中更新分析器組態檔的文字時,呼叫此方法。

OnAnalyzerConfigDocumentTextLoaderChanged(DocumentId, TextLoader)

當分析器組態檔的文字在磁片上變更時,請呼叫此方法。

OnAnalyzerReferenceAdded(ProjectId, AnalyzerReference)

將分析器參考新增至主環境中的專案時,請呼叫此方法。

OnAnalyzerReferenceRemoved(ProjectId, AnalyzerReference)

從主環境中的專案移除分析器參考時,請呼叫此方法。

OnAssemblyNameChanged(ProjectId, String)

在主機環境中變更專案的元件名稱時,呼叫這個方法。

OnCompilationOptionsChanged(ProjectId, CompilationOptions)

當主環境中變更專案的編譯選項時,請呼叫此方法。

OnDocumentAdded(DocumentInfo)

將檔新增至主環境中的專案時,請呼叫此方法。

OnDocumentClosed(DocumentId, TextLoader, Boolean)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

OnDocumentClosing(DocumentId)

覆寫這個方法,以在檔關閉時立即採取行動,而不是等候對應的工作區變更事件以非同步方式引發。

OnDocumentContextUpdated(DocumentId)

當檔在主環境中成為使用中內容時,請呼叫這個方法。

OnDocumentInfoChanged(DocumentId, DocumentInfo)

當檔資訊變更時,呼叫此方法,例如名稱、資料夾或檔案路徑。

OnDocumentOpened(DocumentId, SourceTextContainer, Boolean)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

OnDocumentReloaded(DocumentInfo)

在主環境中重載檔時,呼叫這個方法。

OnDocumentRemoved(DocumentId)

當檔從主環境中的專案中移除時,請呼叫此方法。

OnDocumentsAdded(ImmutableArray<DocumentInfo>)

將多個檔新增至主環境中的一或多個專案時,請呼叫此方法。

OnDocumentSourceCodeKindChanged(DocumentId, SourceCodeKind)

當主環境中的檔 SourceCodeKind 變更時,請呼叫此方法。

OnDocumentTextChanged(Document)

覆寫這個方法,以在檔文字變更時立即採取行動,而不是等待對應的工作區變更事件以非同步方式引發。

OnDocumentTextChanged(DocumentId, SourceText, PreservationMode)

在主環境中更新檔的文字時,呼叫這個方法。

OnDocumentTextLoaderChanged(DocumentId, TextLoader)

在磁片上變更檔的文字時,呼叫這個方法。

OnMetadataReferenceAdded(ProjectId, MetadataReference)

將中繼資料參考新增至主環境中的專案時,請呼叫這個方法。

OnMetadataReferenceRemoved(ProjectId, MetadataReference)

從主環境中的專案移除中繼資料參考時,請呼叫此方法。

OnOutputFilePathChanged(ProjectId, String)

在主機環境中變更專案的輸出檔路徑時,呼叫此方法。

OnOutputRefFilePathChanged(ProjectId, String)

當主機環境中的專案輸出 ref 檔案路徑變更時,請呼叫此方法。

OnParseOptionsChanged(ProjectId, ParseOptions)

在主機環境中變更專案的剖析選項時,呼叫此方法。

OnProjectAdded(ProjectInfo)

呼叫這個方法,以回應在主環境中新增/開啟的專案。

OnProjectNameChanged(ProjectId, String, String)

在主環境中變更專案的名稱時,呼叫此方法。

OnProjectReferenceAdded(ProjectId, ProjectReference)

將專案參考新增至主環境中的專案時,請呼叫這個方法。

OnProjectReferenceRemoved(ProjectId, ProjectReference)

從主環境中的專案中移除專案參考時,請呼叫這個方法。

OnProjectReloaded(ProjectInfo)

呼叫這個方法,以回應主環境中重載的專案。

OnProjectRemoved(ProjectId)

呼叫這個方法,以回應從主機環境移除的專案。

OnSolutionAdded(SolutionInfo)

呼叫這個方法,以回應在主機環境中開啟的解決方案。

OnSolutionReloaded(SolutionInfo)

呼叫這個方法,以回應在主機環境中重載的解決方案。

OnSolutionRemoved()

從工作區移除解決方案時,會呼叫這個方法。

如果您想要在移除解決方案時執行其他工作,請覆寫此方法。 在方法結尾呼叫基底方法。 呼叫這個方法,以回應在主機環境中移除/清除/關閉的解決方案。

OnWorkspaceFailed(WorkspaceDiagnostic)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

OpenAdditionalDocument(DocumentId, Boolean)

在主機環境中開啟指定的其他檔。

OpenAnalyzerConfigDocument(DocumentId, Boolean)

在主機環境中開啟指定的分析器組態檔。

OpenDocument(DocumentId, Boolean)

在主環境中開啟指定的檔。

RaiseDocumentActiveContextChangedEventAsync(Document)
已淘汰.

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

RaiseDocumentActiveContextChangedEventAsync(SourceTextContainer, DocumentId, DocumentId)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

RaiseDocumentClosedEventAsync(Document)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

RaiseDocumentOpenedEventAsync(Document)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

RaiseTextDocumentClosedEventAsync(TextDocument)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

RaiseTextDocumentOpenedEventAsync(TextDocument)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

RaiseWorkspaceChangedEventAsync(WorkspaceChangeKind, Solution, Solution, ProjectId, DocumentId)

工作區可讓您存取一組使用中的原始程式碼專案和檔,以及其相關聯的語法樹狀結構、編譯和語意模型。 工作區具有目前的解決方案,這是專案和檔的不可變快照集。 這個屬性可能會隨著時間而變更,因為工作區會從環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的 方法來更新。

RegisterText(SourceTextContainer)

註冊文字容器與工作區之間的對應。

ScheduleTask(Action, String)

以背景工作的形式執行動作,做為工作循序佇列的一部分。

ScheduleTask<T>(Func<T>, String)

以背景工作的形式執行函式,作為工作循序佇列的一部分。

SetCurrentSolution(Solution)

CurrentSolution設定此工作區的 。 這個方法不會引發 WorkspaceChanged 事件。

TryApplyChanges(Solution)

將對解決方案所做的變更套用回工作區。

指定的解決方案必須是源自此工作區的解決方案。 如果不是,或工作區自從工作區取得解決方案後已更新,則此方法會傳回 false。 如果解決方案包含方法不支援 CanApplyChange(ApplyChangesKind) 的變更,這個方法仍會擲回。

TryGetWorkspace(SourceTextContainer, Workspace)

取得與特定文字容器相關聯的工作區。

UnregisterText(SourceTextContainer)

取消註冊文字容器與工作區之間的對應。

UpdateReferencesAfterAdd()

更新所有專案,以正確地參考其他專案作為專案參考,而不是中繼資料參考。

事件

DocumentActiveContextChanged

與緩衝區相關聯的使用中內容檔變更時所引發的事件。

DocumentClosed

在編輯器中關閉 時 Document 引發的事件。

DocumentOpened

在編輯器中開啟 時 Document 引發的事件。

TextDocumentClosed

在編輯器中關閉任何 TextDocument 時引發的事件。

TextDocumentOpened

在編輯器中開啟任何 TextDocument 時引發的事件。

WorkspaceChanged

每當目前的方案變更時,就會引發事件。

WorkspaceFailed

每當工作區或其解決方案模型的一部分無法存取檔案或其他外部資源時,就會引發事件。

適用於