본문 바로가기

Visual Studio Extensibility

[HowTo] Visual Studio 11, VSX 업그레이드 Visual Studio Extensibility 라고 부르는 VSX를 Visual Studio 2010에서 Visual Studio 11로 업그레이드를 해야 하는데, Visual Studio 11버전부터 그리 어려운 작업이 아닙니다. 과거 VSX 프로젝트를 Visual Studio 2008에서 Visual Studio 2010으로 업그레이드하려면 좀 골치가 아팠습니다. 기존에는 코드 에디터 제어를 Visual Studio Native에서 제공하는 Interface를 사용했지만, Visual Studio 2010부터 코드 에디터가 WPF로 바뀌면서 이 부분은 모조리 변경해야 했거든요. 아시다시피 Visual Studio Gallery에 공개한 VSGesture for VS2008버전과 VSGesture .. 더보기
[VSX] 1. Visual Studio Extensibility,, 그 시작 VSX(Visual Studio Extensibility) 는 Visual Studio 의 기능을 확장할 수 있는 SDK(Software Development Kit) 를 통해 툴의 기능을 확장할 수 있는 소프트웨어 개발 키트입니다. 잘 설계된 Visual Studio 의 확장 가능한 모델은 Visual Studio 2005 부터 비약적으로 발전했습니다. 그리하여 현재 Visual Studio 2010 은 MEF(Managed Extensibility Framework) 를 기반으로 하여 개발, 패키징, 배포에 이르러 훨씬 단순화된 새로운 확장 모델인 VSIX 를 내놓게 되었습니다. Visual Studio 2003 부터 Visual Studio SDK 를 제공해 주었지만, Visual Studio 20.. 더보기
MousePresentationTracker.v1.0 지난 6월 10일 VSTS 2010 팀에서 진행한 MEF(Managed Extensibility Framework) 세미나에서 보여드린 데모를 조금 수정하여 Visual Studio Gallery 에 공개하였습니다. Visual Studio 2010 이 WPF 기반의 IDE 환경으로 탈바꿈하면서 특히 코드 에디터 쪽은 WPF 의 기능을 유감없이 보여주었습니다. 특히 코드 에디터는 MEF 를 통해 대부분의 기능이 만들어졌고, 이것을 확장할 수 있는 기능을 만드는 것이 얼마나 편해졌는지 보여주기 위한 데모였습니다. 세미나에서도 설명했지만 현재 Visual Studio 2008 까지 버전에서 이러한 확장 기능을 개발하기 위해서는 굉장히 많은 단계를 거쳐야 합니다. Visual Studio 2008 까지는 CO.. 더보기
Visual Studio Extensibility Bug Reports Visual Studio Extensibility(VSX) 에 관련해서 몇 가지 버그를 알려드리고자 합니다. 1. VSX 의 이벤트가 먹통이 된다 이 부분은 아무래도 VSX 의 실행 주기에 대한 내용인 것 같습니다. 하지만 코드 자체로만 보면 아무런 문제가 없는 코드지요. public void InitDteEvent() { CommandEvents allEvents = xxxxUtil.GetEvents(this.DTE2, Constants.GUID_ALL_EVENT, 0); allEvents.AfterExecute += (guid, id, customIn, customOut) => { string name = DTE2.Commands.Item(guid, id).Name; Trace.Write( strin.. 더보기