2010-06-02 7 views
4

VS2008 또는 VS2010 용 사용자 지정 편집기 플러그인을 만드는 방법에 대한 설명서를 찾으려고합니다.Visual Studio 2008 또는 2010에서 사용자 지정 편집기 구현

편집하려는 파일 구문은 Stefan Sarstedt의 TemplateMaschine이라는 도구에서 가져온 것입니다.

템플릿 구문의 예 : 나를 위해

<%@ Assembly Name="System.Xml" %> 
<%@ Import NameSpace="System.Xml" %> 
<%@ Import NameSpace="System.Collections" %> 
<%@ Argument Name="className" Type="string" %> 
<%@ Argument Name="attributes" Type="ArrayList" %> 

public class <%=className%> 
{ 
<% foreach(string attr in attributes) { %> 
public string <%=attr%>; 
<% } %> 
} 

가장 중요한 편집기 기능은 실시간 구문 검사와 코드 완성 될 것이다. 우리가 이러한 기능을 사용할 수 있다면 수천만 시간을 절약 할 수 있습니다.

Studio에 사용자 정의 편집기를 통합하지 못했을 때, 내 목적에 따라 쉽게 확장 할 수있는 오픈 소스 텍스트 편집기 프로젝트가있을 수 있습니까? 필자는 이클립스에서 약간 보았지만 코드 완성은 옵션이 될 수 없다고 생각한다. (또한 자바 악취). 또 다른 가능성은 SharpDevelop 텍스트 편집기 구성 요소를 확장하는 것일 수 있습니다.

아이디어와 제안을 환영합니다!

답변

5

VS2008 및 VS2010에서 작동하는 몇 가지 옵션이 있습니다.

Managed Babel이 있습니다.이 기능은 자동으로 문법이 주어지는 방법입니다 (기본값은 flex/bison을 사용한다고 생각합니다). 당신은 read about it on MSDN 일 수 있습니다.

관리 패키지 프레임 워크 (MPF)는 managed language service (MLS)입니다. 이미 문법이 없다면 이것은 아마도 가장 간단한 경로 일 것입니다.

이들은 모두 언어 서비스를 제공하는 일반화 된 솔루션 인 described here을 사용합니다.

VS2008을 대상으로하지 않으려는 경우 VS2010의 새로운 편집기 확장 성 API로 바로 이동할 수 있습니다. Ook! language sample을 확인하고 general editor extensibility in VS2010에 대한 내 대답을 읽어보십시오.

+0

정보 주셔서 감사합니다. 나는 많은 독서를해야한다! ... 그리고 옥? 언어로 - 어딘가에 테리 Pratchett 팬이 ... –

2

자신 만의 DSL을 만들고 싶다면 Visual Studio Visualization and Modeling SDK을보십시오.

TemplateMaschine을 반드시 사용해야하는 것은 아니지만 t4 템플릿을 살펴보십시오. Visual Studio에 내장되어 있으며 (Clarius Visual T4와 같은) 툴링은 이미 사용할 수 있습니다.

+0

링크를 제공해 주셔서 감사합니다. T4 템플릿은 디자인 타임 방식이 아닙니까? 내 템플릿은 런타임에 실행됩니다. .NET 4.0에서 T4를 런타임에 사용하는 것에 대한 논의가있는 것처럼 보입니다. 그러나 매우 예비적인 것으로 보입니다. 내가 틀렸다면? –

관련 문제