다음을 통해 공유


Visual Studio 확장에서 파일 및 문서 작업

다음은 파일 및 문서로 작업하는 다양한 방법에 대한 작은 코드 샘플 컬렉션입니다.

활성 텍스트 보기 가져오기

텍스트 버퍼 텍스트를 조작하기 위해 현재 활성 텍스트 보기를 가져옵니다.

DocumentView docView = await VS.Documents.GetActiveDocumentViewAsync();
if (docView?.TextView == null) return; //not a text window
SnapshotPoint position = docView.TextView.Caret.Position.BufferPosition;
docView.TextBuffer?.Insert(position, "some text"); // Inserts text at the caret

파일 아이콘 연결

솔루션 탐색기에서 아이콘을 파일 확장명과 연결하려면 패키지 클래스에 [ProvideFileIcon()] 특성을 추가합니다.

[ProvideFileIcon(".abc", "KnownMonikers.Reference")]
public sealed class MyPackage : ToolkitPackage
{
    ...
}

KnownMonikers Explorer 도구 창을 사용하여 KnownMonikers 컬렉션에서 사용 가능한 수천 개의 아이콘을 확인하세요. 기본 메뉴의 >다른 창 보기에서 찾을 수 있습니다.

파일 열기

Microsoft.VisualStudio.Shell.VsShellUtilities 도우미 클래스를 사용합니다.

string fileName = "c:\\file.txt";
await VS.Document.OpenAsync(fileName);

프로젝트를 통해 파일 열기

열려 있는 파일이 솔루션의 일부인 경우 이 메서드를 사용합니다.

string fileName = "c:\\file.txt";
await VS.Documents.OpenViaProjectAsync(fileName);

미리 보기 탭에서 파일 열기

임시 탭이라고도 하는 미리 보기 탭은 문서 웰의 오른쪽에 열리는 임시 탭입니다. 미리 보기 탭에서 다음과 같은 파일을 엽니다.

string fileName = "c:\\file.txt";
await VS.Documents.OpenInPreviewTabAsync(fileName);

ITextBuffer에서 파일 이름 가져오기

Microsoft.VisualStudio.Text 네임스페이스에 있는 확장 메서드 buffer.GetFileName()를 사용합니다.

string fileName = buffer.GetFileName();

파일의 SolutionItem

절대 파일 경로에서 SolutionItem을 찾습니다.

string fileName = "c:\\file.txt";
PhysicalFile item = await PhysicalFile.FromFileAsync(fileName);