시작 페이지에 Visual Studio 명령을 추가
사용자 지정 시작 페이지를 만들 때 Visual Studio 명령을 추가할 수 있습니다. 이 문서 Visual Studio 명령을 시작 페이지에서 XAML 개체에 바인딩할 수 있는 여러 가지 방법에 설명 합니다.
XAML에서 명령에 대 한 자세한 내용은 참조 하십시오.명령 개요
명령에서 명령을 잘 추가
시작 페이지 프로젝트 서식 파일에 대 한 별칭 정의 Microsoft.VisualStudio.PlatformUI 및 Microsoft.VisualStudio.Shell 같이 네임 스페이스입니다.
사용할 수 있습니다의 vs: Visual Studio 명령을 XAML에 바인딩하려면 별칭을 설정 하 여 페이지에 컨트롤을 Command 속성에는 컨트롤의 vs:VSCommands.ExecuteCommand. 다음 설정할 수 있습니다의 CommandParameter 속성에는 다음 예제와 같이 실행할 명령 이름입니다.
<Button Name="btnNewProj" Content="New Project"
Command="{x:Static vs:VSCommands.ExecuteCommand}"
CommandParameter="File.NewProject" >
</Button>
참고
x: 모든 명령 시작 부분에 XAML 스키마를 참조, 별칭을 필요 합니다.
값을 설정할 수 있습니다에서 Command 속성에서 액세스할 수 있는 명령에는 명령 을 창. 사용 가능한 명령 목록을 보려면을 참조 하십시오. Visual Studio 명령 별칭.
명령을 추가 하는 추가 매개 변수가 필요 하면이 값을 추가할 수 있습니다 해당 CommandParameter 속성입니다. 다음 예제에서와 같이 공백을 사용 하 여 명령에서 별도 매개 변수입니다.
<Button Content="Web Search"
Command="{x:Static vs:VSCommands.ExecuteCommand}"
CommandParameter="View.WebBrowser www.bing.com" />
확장 명령에서 잘 호출
다른 Visual Studio 명령을 호출 하는 데 사용 되는 동일한 구문을 사용 하 여 명령 등록 된 Vspackages를 호출할 수 있습니다. 예를 들어, 설치 된 Vspackage를 추가 하는 경우는 홈 페이지 명령에 보기 메뉴를 호출할 수 있습니다이 명령을 설정 하 여 CommandParameter 에 View.HomePage.
참고
있는 Vspackage와 연결 된 명령을 호출 하면 명령이 호출 될 때 패키지가 로드 되어야 합니다.
Visual Studio 추가 기능을 함께 연결 된 명령을 호출 하려면 추가 기능의 전체 명령 이름을 사용 해야 합니다. 자세한 내용은 방법: 명령줄을 사용하여 추가 기능 실행를 참조하십시오.
어셈블리를 추가 하는 명령
명령, 어셈블리에서 또는 명령을 사용 하 여 연결 되지 않은 있는 Vspackage에 액세스 코드를 호출 하려면 어셈블리에 대 한 별칭을 만듭니다 및 다음 별칭을 호출 합니다.
명령에서 어셈블리를 호출 하려면
솔루션에서의 어셈블리에 참조를 추가 합니다.
StartPage.xaml 파일 상단에 다음 예제와 같이 어셈블리의 네임 스페이스 지시문을 추가 합니다.
xmlns:vsc="clr-namespace:WebUserControl;assembly=WebUserControl"
명령을 설정 하 여 호출의 Command 다음 예제와 같이 XAML 개체의 속성입니다.
Xaml
<vs:Button Text="Hide me" Command="{x:Static vsc:HideControl}" .../>
참고
시작 페이지 프로젝트 템플릿을 사용 하는 경우 어셈블리를 복사 하 고에 붙여넣습니다.\설치 폴더 Visual Studio\Common7\IDE\PrivateAssemblies\ 호출 되기 전에 로드 되어 있는지 확인 합니다.
자동화 모델에서 추가 명령
시작 페이지, 태그와 코드에서 모두에서 Visual Studio 자동화 모델에 액세스할 수 있습니다.
태그를 사용 하 여 자동화 모델 액세스 수는 태그 확장 바인딩 를 호출 하는 구문은 DTE 개체. 이 접근법을 사용 하 여 컬렉션을 반환 하는 등의 간단한 속성에 바인딩할 수는 있지만 메서드 또는 서비스에 바인딩할 수 없습니다. 다음 예제는 TextBlock 바인딩된 컨트롤의 Name 속성을 하는 ListBox 열거 되는 컨트롤의 Caption 속성에서 반환 된 컬렉션의의 Windows 속성.
<TextBlock Text="{Binding Path=DTE.Name}" FontSize="12" HorizontalAlignment="Center"/>
<ListBox ItemsSource="{Binding Path=DTE.Windows}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Caption}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
코드에서 사용 방법, 서비스 및 자동화 모델의 속성을 보다 복잡 한 예를 들어, 사용자 컨트롤에서 또는 XAML 페이지에 대 한 코드 숨김 파일에 액세스할 수 있습니다. 자동화 모델을 사용 하는 프로젝트에서와 같은 방법으로이 작업을 수행 합니다. 예제를 보려면 연습: 사용자 설정 시작 페이지에서 자동화를 사용 하 여 저장을 참조하십시오.
자동화 모델에 대 한 자세한 내용은 참조 하십시오. Visual Studio 환경 확장 또는 자동화 어셈블리 및 DTE2 개체 참조.k
상대 경로
항상 시작 페이지에서 파일 경로 참조 하는 경우 다른 시스템 구성을 허용 하려면 상대 경로 사용 합니다. 그러나 루트의 모든 상대 경로 시작 페이지에 \StartPages\ 폴더가 아니라 해결. \Visual Studio 설치 폴더여기서 devenv.exe입니다 \Common7\IDE\, 있습니다. 시작 페이지 파일의 위치에 상대적인 경로 설정 하는 Vsstartpagerelativeconverter를 사용 합니다. 이 설정 하 여는 Source 속성으로 개체의 vs:StartPageRelative, 다음 예제와 같이.
<Image Source="{sp:StartPageRelative Image1.png}" Margin="20" />
Visual Studio 또는 다른 패키지에 포함 된 파일에 포함 된 리소스를 액세스할 때 표준 상대 경로 구문을 사용 합니다.