방법: 단일 바로 가기 키에 명령 바인딩
바로 가기 키 바인딩을 표시할 수 있을 뿐만 아니라 Bindings 속성을 사용하여 Visual Studio 명령에 대한 키 바인딩을 설정하거나 변경할 수도 있습니다. 키 바인딩을 변경하면 변경된 내용이 이전 키 바인딩 대신 적용되고 이전 바인딩은 삭제됩니다. 또한, 새 키 바인딩이 다른 명령에 이미 사용되고 있는 경우 키 바인딩이 이전 명령에서 제거되고 새 명령에 다시 할당됩니다.
그러나 새 키 바인딩으로 이전 바인딩을 대체하는 대신 기존 키 바인딩을 유지한 채 새 키 바인딩을 또 다른 바로 가기 키로 추가하여 사용할 수도 있습니다. 이 방법에 대한 설명은 방법: 기존 바로 가기 키 유지를 참조하십시오.
참고
표시되는 대화 상자와 메뉴 명령은 활성 설정이나 버전에 따라 도움말에서 설명하는 것과 다를 수 있습니다. 이러한 절차는 일반 개발 설정을 사용하여 개발되었습니다. 설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다. 자세한 내용은 설정에 대한 작업을 참조하십시오.
절차
명령을 바로 가기 키에 바인딩하려면
Visual Studio 추가 기능 마법사를 사용하여 새 추가 기능을 만듭니다. 프로젝트의 이름을 지정하고 확인을 클릭하여 마법사를 시작합니다.
Visual Studio 추가 기능 마법사 사용에 대한 자세한 내용은 방법: 추가 기능 만들기를 참조하십시오.
프로그래밍 언어 선택 페이지에서 Visual C#을 사용하여 추가 기능 만들기를 선택하여 아래의 Visual C# 예제를 실행하거나, Visual Basic을 사용하여 추가 기능 만들기를 선택하여 Visual Basic 예제를 실행합니다.
Visual Studio 추가 기능 마법사로 생성한 코드의 Connect 클래스에 아래의 예제 함수를 붙여넣습니다.
방법: 자동화 개체 모델 코드의 예제 컴파일 및 실행에서 설명되어 있는 OnConnection 메서드입니다.
추가 기능을 빌드하고 실행합니다.
F2 키를 눌러 File.Newfile 명령을 실행합니다.
예제
다음 추가 기능 예제에서는 File.NewFile 명령을 단일 바로 가기 키(F2)에 바인딩하는 방법을 보여 줍니다.
Public Sub OnConnection(ByVal application As Object, ByVal _
connectMode As ext_ConnectMode, ByVal addInInst As Object, ByRef _
custom As Array) Implements IDTExtensibility2.OnConnection
_applicationObject = CType(application, DTE2)
_addInInstance = CType(addInInst, AddIn)
BindingsExample(_applicationObject)
End Sub
Sub BindingsExample(ByVal dte As DTE2)
Dim cmds As Commands
Dim cmd As Command
Try
' Set references to the Commands collection and the
' File.NewFile command.
cmds = DTE.Commands
cmd = cmds.Item("File.NewFile")
' Assigns the command (File.NewFile) globally to the F2 key.
cmd.Bindings = "Global::F2"
MsgBox("key remapped")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
BindingsExample(_applicationObject);
}
public void BindingsExample(DTE2 dte)
{
Commands cmds;
Command cmd;
try
{
// Set references to the Commands collection and the
// File.NewFile command.
cmds = dte.Commands;
cmd = cmds.Item("File.NewFile", 1);
// Assigns the command (File.NewFile) globally to the F2 key.
cmd.Bindings = "Global::F2";
System.Windows.Forms.MessageBox.Show("key remapped");
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}