去年,我为Visual Studio编写了一个语言服务,它为NHaml文件添加了语法高亮显示:http://github.com/snappycode/hamleditor。使用C#intellisense的Visual Studio语言服务
为了澄清,NHaml是一种html模板语言,可以像aspx文件那样在代码元素中混合使用。这个插件增加了对IDE编辑NHaml文件的支持,但基本上只增加了语法高亮。
我想知道是否有人知道如何将内联c#intellisense添加到像现在在aspx文件中获得的服务。我希望这可能没有完成我自己特定于插件的整个c#语法。
有没有人写过混合语言的语言服务?
UPDATE: 它看起来像火花视图引擎的家伙已经在这里取得了一些进展,我调查其执行
你在看的时候发现什么有用火花视图引擎代码? – Jake 2009-04-20 19:56:18
是的,看起来像他们下降到C++ http://whereslou.com/2008/12/03/ivsintellisenseless 我要看看我是否可以得到这在C#中,但有一些疯狂的未记录的接口支持 – whatupdave 2009-04-27 07:16:16
是的,降级到ATL COM对于处理这种情况很有帮助,因为您可以跟踪对象上的QueryInterface调用以收集有关VS的期望值的提示。还有一个很好的技巧,你可以在注册表中为每个IID提供一个对象引用并调用QI,以便尽可能多地发现它暴露的接口。我没有意识到在c#中进行这种类型的COM级别探索的方法。 – loudej 2009-05-10 09:10:36