共用方式為


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
衍生
實作

建構函式

名稱 Description
Workspace(HostServices, String)

建立一個新的工作區實例。

屬性

名稱 Description
CanOpenDocuments

如果這個工作區支援手動開啟和關閉文件,那就沒錯。

CurrentSolution

目前的解決方案。

解決方案是一個不可變的專案與原始文件模型。 它提供原始文本、語法樹與語意的存取。

此屬性可能隨著工作區對環境變化的反應或在呼叫後 TryApplyChanges(Solution) 改變。

Kind

那種工作空間。 這通常是 Host 指來自主機環境,但也可能是用來指特定工作區的其他名稱。

Options
已淘汰.

取得或設定所有全域選項的 Options集合。 Setter 也會強制更新 。CurrentSolutionOptions

PartialSemanticsEnabled

如果工作區支援文件的部分語意,則會覆寫此屬性。

Services

由主機提供服務,以實作工作空間功能。

方法

名稱 Description
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)

此方法在 during 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, Boolean)
已淘汰.

工作區提供存取一組活躍的原始碼專案與文件,以及它們相關的語法樹、編譯和語意模型。 工作區有一個目前的解決方案,是專案與文件不可變的快照。 此屬性可能會隨時間改變,因為工作空間會因環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的方法而更新。

ClearOpenDocument(DocumentId)

工作區提供存取一組活躍的原始碼專案與文件,以及它們相關的語法樹、編譯和語意模型。 工作區有一個目前的解決方案,是專案與文件不可變的快照。 此屬性可能會隨時間改變,因為工作空間會因環境中的即時互動或透過呼叫工作區 TryApplyChanges(Solution) 的方法而更新。

ClearProjectData(ProjectId)

當移除單一專案時,此方法稱為此方法。

如果你想在專案移除時做額外工作,可以直接覆寫這個方法。 在方法結束時呼叫基礎方法。

ClearSolution()

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

ClearSolutionData()

當溶液被清除時,會呼叫此方法。

如果你想在解答完成後做額外工作,可以直接覆蓋這個方法。 在方法結束時呼叫基礎方法。

此方法在鎖被持有時稱為「此方法」。 覆寫時要非常小心,因為不適當的工作可能會導致僵局。

CloseAdditionalDocument(DocumentId)

在主機環境中關閉指定的額外文件。

CloseAnalyzerConfigDocument(DocumentId)

在主機環境中關閉指定的分析器設定文件。

CloseDocument(DocumentId)

在主機環境中關閉指定的文件。

CreateSolution(SolutionId)

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

CreateSolution(SolutionInfo)

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

Dispose()

處理這個工作區。 工作空間在處理完後仍可繼續使用。

Dispose(Boolean)

當工作區被處置時,就呼叫這個方法。

當工作區被處理時,可以覆蓋此方法以進行額外工作。 在你的方法結束時稱這個方法為基礎。

GetAdditionalDocumentName(DocumentId)

在錯誤訊息中取得用於額外文件的名稱。

GetAnalyzerConfigDocumentName(DocumentId)

在錯誤訊息中取得分析器文件的名稱。

GetDocumentIdInCurrentContext(SourceTextContainer)

取得與該文字容器在當前上下文中相關文件的 ID。 文件在打開時通常會與文字容器相關聯。

GetDocumentName(DocumentId)

在錯誤訊息中取得文件名稱。

GetOpenDocumentIds(ProjectId)

拿到目前已開啟的文件清單。

GetProjectName(ProjectId)

在錯誤訊息中取得專案名稱。

GetRelatedDocumentIds(SourceTextContainer)

取得與所給 container快照相關的文件 CurrentSolution ID。 文件在打開時通常會與文字容器相關聯。

GetWorkspaceRegistration(SourceTextContainer)

回傳給定的文字容器 a 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)

當專案的輸出參考檔路徑在主機環境中被更改時,呼叫此方法。

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) 的方法而更新。

RegisterDocumentActiveContextChangedHandler(Action<DocumentActiveContextChangedEventArgs>, Nullable<WorkspaceEventOptions>)

註冊一個處理程序,當與緩衝區相關的活動上下文文件變更時會觸發。

RegisterDocumentClosedHandler(Action<DocumentEventArgs>, Nullable<WorkspaceEventOptions>)

註冊一個處理器,當 a Document 在編輯器中關閉時會被觸發。

RegisterDocumentOpenedHandler(Action<DocumentEventArgs>, Nullable<WorkspaceEventOptions>)

註冊一個處理器,當在編輯器中開啟 a Document 時會觸發。

RegisterText(SourceTextContainer)

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

RegisterTextDocumentClosedHandler(Action<TextDocumentEventArgs>, Nullable<WorkspaceEventOptions>)

註冊一個處理器,當編輯器中關閉任何 TextDocument 處理器時,處理器會被觸發。

RegisterTextDocumentOpenedHandler(Action<TextDocumentEventArgs>, Nullable<WorkspaceEventOptions>)

註冊一個處理器,當在編輯器中開啟任何 TextDocument 處理器時,處理器會被觸發。

RegisterWorkspaceChangedHandler(Action<WorkspaceChangeEventArgs>, Nullable<WorkspaceEventOptions>)

註冊一個處理器,當當前解決方案變更時會觸發該處理器。

RegisterWorkspaceChangedImmediateHandler(Action<WorkspaceChangeEventArgs>, Nullable<WorkspaceEventOptions>)

註冊一個處理器,當當前解決方案變更時 會立即 觸發。 處理器應該寫得非常快。 無論輸入選項中偏好設定如何,都會從變更工作區的執行串中呼叫。 這個討論串會依工作環境而有所不同。

RegisterWorkspaceFailedHandler(Action<WorkspaceDiagnosticEventArgs>, Nullable<WorkspaceEventOptions>)

註冊一個處理程序,當工作空間或其解決方案模型部分無法存取檔案或其他外部資源時,處理器會被觸發。

ScheduleTask(Action, String)

執行一個動作作為背景任務,作為序列任務隊列的一部分。

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

將函式作為背景任務執行,作為序列佇列任務的一部分。

SetCurrentSolution(Solution)

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

TryApplyChanges(Solution)

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

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

TryGetWorkspace(SourceTextContainer, Workspace)

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

UnregisterText(SourceTextContainer)

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

UpdateReferencesAfterAdd()

更新所有專案,正確地將其他專案作為專案參考,而非元資料參考。

事件

名稱 Description
DocumentActiveContextChanged
已淘汰.

當與緩衝區相關的主動上下文文件變更時,會觸發的事件。

DocumentClosed
已淘汰.

當 a Document 在編輯器中關閉時會觸發的事件。

DocumentOpened
已淘汰.

當編輯器開啟 a Document 時會觸發的事件。

TextDocumentClosed
已淘汰.

當編輯器中任何事件 TextDocument 被關閉時,該事件會被觸發。

TextDocumentOpened
已淘汰.

當編輯器中開啟任何事件 TextDocument 時,該事件會觸發。

WorkspaceChanged
已淘汰.

每當當前解法改變時,該事件會被觸發。

WorkspaceFailed
已淘汰.

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

適用於