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);