【发布时间】:2010-05-31 16:57:45
【问题描述】:
好的,在我开始之前,我意识到有很多关于这个主题的文档,但到目前为止,我什至没有为 VS2010 实现基本的着色工作。
我的目标是简单地达到可以打开文档并且所有内容都涂成红色的程度,从这里我可以实现相关的解析逻辑。
这是我尝试/发现的:
1) 下载了所有相关的 SDK 等 - 找到了 ook 示例 (http://code.msdn.microsoft.com/ookLanguage) - 没有构建,没有工作。
2) 对 MEF 几乎一无所知,请阅读“使用托管包框架实现语言服务”-http://msdn.microsoft.com/en-us/library/bb166533(v=VS.100).aspx
这几乎是这里所有基本内容的复制和粘贴,还更新了一些与示例过期的参考:http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/a310fe67-afd2-4592-b295-3fc86fec7996
现在,我已经到了一个点,当运行包时,MEF 似乎已正确连接(我知道这一点,因为在调试器打开的情况下,我可以看到包初始化和 FDoIdle 方法正在被命中)。
当我打开已向 ProvideLanguageExtensionAttribute 注册的扩展文件时,一切都像死循环一样死掉,但没有命中调试符号(尽管它们已加载)。
查看 ook 示例和 MEF 示例,它们似乎是解决同一问题的完全不同的方法。在 ook 示例中,有 MEF 示例中未提及的 Clasifications 和 Completion 控制器的概念。另外,他们似乎没有创建包或语言服务,所以我不知道它应该如何工作?
对于 MEF 示例,我的假设是我需要连接到“IScanner.ScanTokenAndProvideInfoAboutIt”以提供语法突出显示?如果我能达到这种方法,那就太好了。
所以我想我的第一个问题是我应该在这里采用哪种方法?还是他们都以某种方式联系在一起?
我的第二个问题是,我在哪里可以找到一个实现沼泽标准基本语法突出显示和智能感知或 VS2010 的基本完整工作项目?
第三,在我创建包的 MEF 示例中,为我创建了一堆测试项目。我似乎集成测试以某种方式启动了 VS2010 测试平台,但测试失败。用测试编写我的服务会很好,但我不知道我可以用什么/如何测试每个交互,所以任何对测试语言服务的引用都会有所帮助。
最后,请以我认为有用的方式提供任何资源/书籍链接。
干杯,克里斯。
注意抱歉,我意识到这部分是问题部分是咆哮,但我从未如此困惑过。
【问题讨论】:
标签: visual-studio-2010 intellisense syntax-highlighting mef