다음을 통해 공유


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)

새 작업 영역 instance 생성합니다.

속성

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)

추가 문서가 현재 솔루션의 일부가 아닌 경우 예외를 throw합니다.

CheckAdditionalDocumentIsNotInCurrentSolution(DocumentId)

추가 문서가 이미 현재 솔루션의 일부인 경우 예외를 throw합니다.

CheckAnalyzerConfigDocumentIsInCurrentSolution(DocumentId)

분석기 구성이 현재 솔루션의 일부가 아닌 경우 예외를 throw합니다.

CheckAnalyzerConfigDocumentIsNotInCurrentSolution(DocumentId)

분석기 구성 문서가 이미 현재 솔루션의 일부인 경우 예외를 throw합니다.

CheckCanOpenDocuments()

작업 영역은 소스 코드 프로젝트 및 문서 및 관련 구문 트리, 컴파일 및 의미 체계 모델의 활성 집합에 대한 액세스를 제공합니다. 작업 영역에는 프로젝트 및 문서의 변경할 수 없는 스냅샷 현재 솔루션이 있습니다. 작업 영역이 환경의 라이브 상호 작용에서 또는 작업 영역의 TryApplyChanges(Solution) 메서드 호출을 통해 업데이트되면 시간이 지남에 따라 이 속성이 변경 될 수 있습니다.

CheckDocumentCanBeRemoved(DocumentId)

작업 영역은 소스 코드 프로젝트 및 문서 및 관련 구문 트리, 컴파일 및 의미 체계 모델의 활성 집합에 대한 액세스를 제공합니다. 작업 영역에는 프로젝트 및 문서의 변경할 수 없는 스냅샷 현재 솔루션이 있습니다. 작업 영역이 환경의 라이브 상호 작용에서 또는 작업 영역의 TryApplyChanges(Solution) 메서드 호출을 통해 업데이트되면 시간이 지남에 따라 이 속성이 변경 될 수 있습니다.

CheckDocumentIsClosed(DocumentId)

작업 영역은 소스 코드 프로젝트 및 문서 및 관련 구문 트리, 컴파일 및 의미 체계 모델의 활성 집합에 대한 액세스를 제공합니다. 작업 영역에는 프로젝트 및 문서의 변경할 수 없는 스냅샷 현재 솔루션이 있습니다. 작업 영역이 환경의 라이브 상호 작용에서 또는 작업 영역의 TryApplyChanges(Solution) 메서드 호출을 통해 업데이트되면 시간이 지남에 따라 이 속성이 변경 될 수 있습니다.

CheckDocumentIsInCurrentSolution(DocumentId)

문서가 현재 솔루션의 일부가 아닌 경우 예외를 throw합니다.

CheckDocumentIsNotInCurrentSolution(DocumentId)

문서가 이미 현재 솔루션의 일부인 경우 예외를 throw합니다.

CheckDocumentIsOpen(DocumentId)

작업 영역은 소스 코드 프로젝트 및 문서 및 관련 구문 트리, 컴파일 및 의미 체계 모델의 활성 집합에 대한 액세스를 제공합니다. 작업 영역에는 프로젝트 및 문서의 변경할 수 없는 스냅샷 현재 솔루션이 있습니다. 작업 영역이 환경의 라이브 상호 작용에서 또는 작업 영역의 TryApplyChanges(Solution) 메서드 호출을 통해 업데이트되면 시간이 지남에 따라 이 속성이 변경 될 수 있습니다.

CheckProjectCanBeRemoved(ProjectId)

현재 프로젝트는 항상 제거할 수 있지만 이 메서드는 보호되므로 계속 존재하며 파생 Workspace 되어 호출한 사람을 중단하거나 재정의하고 싶지 않습니다.

CheckProjectDoesNotContainOpenDocuments(ProjectId)

작업 영역은 소스 코드 프로젝트 및 문서 및 관련 구문 트리, 컴파일 및 의미 체계 모델의 활성 집합에 대한 액세스를 제공합니다. 작업 영역에는 프로젝트 및 문서의 변경할 수 없는 스냅샷 현재 솔루션이 있습니다. 작업 영역이 환경의 라이브 상호 작용에서 또는 작업 영역의 TryApplyChanges(Solution) 메서드 호출을 통해 업데이트되면 시간이 지남에 따라 이 속성이 변경 될 수 있습니다.

CheckProjectDoesNotHaveAnalyzerReference(ProjectId, AnalyzerReference)

프로젝트에 특정 분석기 참조가 이미 있는 경우 예외를 throw합니다.

CheckProjectDoesNotHaveMetadataReference(ProjectId, MetadataReference)

프로젝트에 특정 메타데이터 참조가 이미 있는 경우 예외를 throw합니다.

CheckProjectDoesNotHaveProjectReference(ProjectId, ProjectReference)

프로젝트에 특정 프로젝트 참조가 이미 있는 경우 예외를 throw합니다.

CheckProjectDoesNotHaveTransitiveProjectReference(ProjectId, ProjectId)

프로젝트에 다른 프로젝트에 대한 전이적 참조가 있는 경우 예외를 throw합니다.

CheckProjectHasAnalyzerReference(ProjectId, AnalyzerReference)

프로젝트에 특정 분석기 참조가 없는 경우 예외를 throw합니다.

CheckProjectHasMetadataReference(ProjectId, MetadataReference)

프로젝트에 특정 메타데이터 참조가 없는 경우 예외를 throw합니다.

CheckProjectHasProjectReference(ProjectId, ProjectReference)

프로젝트에 특정 프로젝트 참조가 없는 경우 예외를 throw합니다.

CheckProjectIsInCurrentSolution(ProjectId)

프로젝트가 현재 솔루션의 일부가 아닌 경우 예외를 throw합니다.

CheckProjectIsNotInCurrentSolution(ProjectId)

예외를 throw합니다. 프로젝트는 현재 솔루션의 일부입니다.

CheckSolutionIsEmpty()

예외를 throw합니다. 솔루션이 비어 있지 않습니다.

ClearDocumentData(DocumentId)

이 메서드는 개별 문서가 제거된 것을 지우기 위해 호출됩니다.

문서를 제거할 때 추가 작업을 수행하려는 경우 이 메서드를 재정의합니다. 메서드의 끝에서 기본 메서드를 호출합니다.

ClearOpenDocument(DocumentId)

작업 영역은 소스 코드 프로젝트 및 문서 및 관련 구문 트리, 컴파일 및 의미 체계 모델의 활성 집합에 대한 액세스를 제공합니다. 작업 영역에는 프로젝트 및 문서의 변경할 수 없는 스냅샷 현재 솔루션이 있습니다. 작업 영역이 환경의 라이브 상호 작용에서 또는 작업 영역의 TryApplyChanges(Solution) 메서드 호출을 통해 업데이트되면 시간이 지남에 따라 이 속성이 변경 될 수 있습니다.

ClearOpenDocument(DocumentId, Boolean)
사용되지 않음.

작업 영역은 소스 코드 프로젝트 및 문서 및 관련 구문 트리, 컴파일 및 의미 체계 모델의 활성 집합에 대한 액세스를 제공합니다. 작업 영역에는 프로젝트 및 문서의 변경할 수 없는 스냅샷 현재 솔루션이 있습니다. 작업 영역이 환경의 라이브 상호 작용에서 또는 작업 영역의 TryApplyChanges(Solution) 메서드 호출을 통해 업데이트되면 시간이 지남에 따라 이 속성이 변경 될 수 있습니다.

ClearProjectData(ProjectId)

이 메서드는 개별 프로젝트가 제거될 때 호출됩니다.

프로젝트가 제거될 때 추가 작업을 수행하려는 경우 이 메서드를 재정의합니다. 메서드의 끝에서 기본 메서드를 호출합니다.

ClearSolution()

모든 솔루션 데이터를 지우고 현재 솔루션을 비웁니다.

ClearSolutionData()

이 메서드는 솔루션이 지워지면 호출됩니다.

솔루션을 지울 때 추가 작업을 수행하려는 경우 이 메서드를 재정의합니다. 메서드의 끝에서 기본 메서드를 호출합니다.

잠금이 유지되는 동안 이 메서드가 호출됩니다. innapropriate 작업으로 재정의하면 교착 상태가 발생할 수 있으므로 매우 주의해야 합니다.

CloseAdditionalDocument(DocumentId)

호스트 환경에서 지정된 추가 문서를 닫습니다.

CloseAnalyzerConfigDocument(DocumentId)

호스트 환경에서 지정된 분석기 구성 문서를 닫습니다.

CloseDocument(DocumentId)

호스트 환경에서 지정된 문서를 닫습니다.

CreateSolution(SolutionId)

이 작업 영역과 연결된 새 빈 솔루션 instance 만듭니다.

CreateSolution(SolutionInfo)

이 작업 영역과 연결된 새 빈 솔루션 instance 만듭니다.

Dispose()

이 작업 영역을 삭제합니다. 작업 영역은 삭제된 후 더 이상 사용할 수 있습니다.

Dispose(Boolean)

작업 영역이 삭제될 때 이 메서드를 호출합니다.

작업 영역이 삭제될 때 추가 작업을 수행하도록 이 메서드를 재정의합니다. 메서드의 끝에서 이 메서드를 호출합니다.

GetAdditionalDocumentName(DocumentId)

오류 메시지에서 추가 문서에 사용할 이름을 가져옵니다.

GetAnalyzerConfigDocumentName(DocumentId)

오류 메시지에서 분석기 문서에 사용할 이름을 가져옵니다.

GetDocumentIdInCurrentContext(SourceTextContainer)

현재 컨텍스트에서 지정된 텍스트 컨테이너와 연결된 문서의 ID를 가져옵니다. 문서는 일반적으로 문서를 열 때 텍스트 컨테이너와 연결됩니다.

GetDocumentName(DocumentId)

오류 메시지에서 문서에 사용할 이름을 가져옵니다.

GetOpenDocumentIds(ProjectId)

현재 열려 있는 문서의 목록을 가져옵니다.

GetProjectName(ProjectId)

오류 메시지에서 프로젝트에 사용할 이름을 가져옵니다.

GetRelatedDocumentIds(SourceTextContainer)

지정된 container와 연결된 스냅샷 문서의 CurrentSolution ID를 가져옵니다. 문서는 일반적으로 문서를 열 때 텍스트 컨테이너와 연결됩니다.

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) throw됩니다.

TryGetWorkspace(SourceTextContainer, Workspace)

특정 텍스트 컨테이너와 연결된 작업 영역을 가져옵니다.

UnregisterText(SourceTextContainer)

텍스트 컨테이너와 작업 영역 간의 대응을 등록 취소합니다.

UpdateReferencesAfterAdd()

다른 프로젝트를 메타데이터 참조 대신 프로젝트 참조로 올바르게 참조하도록 모든 프로젝트를 업데이트.

이벤트

DocumentActiveContextChanged

버퍼와 연결된 활성 컨텍스트 문서가 변경될 때 발생하는 이벤트입니다.

DocumentClosed

편집기에서 가 닫혀 있을 때 Document 발생하는 이벤트입니다.

DocumentOpened

편집기에서 가 열릴 때 Document 발생하는 이벤트입니다.

TextDocumentClosed

편집기에서 가 TextDocument 닫혀 있을 때 발생하는 이벤트입니다.

TextDocumentOpened

편집기에서 열 때 TextDocument 발생하는 이벤트입니다.

WorkspaceChanged

현재 솔루션이 변경될 때마다 발생하는 이벤트입니다.

WorkspaceFailed

작업 영역 또는 솔루션 모델의 일부가 파일 또는 기타 외부 리소스에 액세스하지 못할 때마다 발생하는 이벤트입니다.

적용 대상