기본 콘텐츠로 건너뛰기

라벨이 Visual Studio Extension인 게시물 표시

[VSIX] IntelliCommand 패키지 분석 및 교정(?) - Non-EN Visual Studio 에 적용하기.

Visual Studio Extension 들 중에 쓸만한 것들이 많이 있다. 그리고 Visual Studio에는 다양한 기능을 제공하는 Shortcut 들이 존재하지만 일일이 기억하지 못하기 때문에 좋은 기능이 있어서 노가다(?)를 줄여줄 수 있음에도 몰라서 못 쓰는 경우가 많다. IntelliCommand 라는 Visual Studio Extension은 Ctrl, Alt, Shift 등의 기능키를 누르고 있으면 (대략 2초 - 설정에서 변경 가능) 해당 기능키에 배정되어 있는 Shortcut 들을 보여주는 기능을 가지고 있다. 제작자도 언급한 것과 같이 영문 Visual Studio 에서만 동작을 하고 그외 언어로 설치된 Visual Studio에서는 (한글에 영문 Language Pack 설치 포함) 동작하지 않는다. 이왕 패키지를 구성하는 것을 테스트하고 있기 때문에 IntelliCommand를 한글버전에서도 동작할 수 있도록 분석과 교정을 해 보도록 한다. Initialize Settings 패키지가 시작되면 다음과 같은 흐름을 가지고 처리가 진행된다. Get Shell Service (IVsShell) Shell의 속성이 변경되면 처리할 수 있도록 AdviseShellPropertyChanges 를 설정한다. 속성이 변경되면 InitializeCommandServices 를 수행한다. DTE2 서비스를 얻고, Command 출력을 위한 OutputWindowService를 생성한다. (디버그용으로 Visual Studio의 "출력 창"을 열고 정보를 출력하는 기능) DTE 개체에 대해서 다음과 같은 처리 서비스를 등록한다. CommandScopeService Dispatcher.CurrentDispatcher KeyboardListenerService IntelliCommandOptionsDialogPage Main Window 인 CommandsInfoWindow 를 등록하고 Show 한