2014-12-03 39 views
0

我想实现与MEF编辑器扩展与VS2012代码片段,我也跟着从链接演练“实施代码段”:http://msdn.microsoft.com/en-us/library/ff926100(v=vs.110).aspx如何代码片段添加到VSIX MEF编辑器扩展没有语言服务

的实现基于演练显示语句完成。此功能正常工作。

“实现代码片段”的第一部分是“创建并注册代码片段”,它不起作用。在该部分的末尾是步骤8:

生成并运行项目。在项目运行时开始的Visual Studio实验性实例中,您刚刚注册的代码段应该以TestSnippets语言的代码片段管理器显示。

没有错误,但代码片段管理器不显示TestSnippets语言,因此代码片段不存在。我已经坚持了几个星期,并且找不到资源来理解这个问题。

任何想法如何解决这个问题将不胜感激。

感谢

回答

0

我知道这并不容易,但我一直在与VSIX现在搞乱了好一阵子。如果你想解决这些问题,你需要使用反射器或dotPeek进行硬核调试。

通过调试,我的意思是,您需要逐行调试所有MEF管道的实际执行代码,以及使用MEF的代码。

基本上,只要找到这里的“代码段管理器”正在做的工作,然后看看为什么你的语言是不是在拉

基本上,你需要问一个问题:

1)为什么Code Snippets Manager不显示TestSnippets语言?

然后,您只需要通过调试来回答它,找到代码片段管理器执行显示语言决定的位置,并查看它为什么不显示在那里。

我已经用这种方法解决了很多问题,我很感激大多数代码都是C#,这意味着很容易遍历代码并查看执行的进行情况。

+0

代码片段管理器是Visual Studio代码的一部分,您如何调试VS代码? – 2014-12-05 00:43:56

+0

@MiguelV;只需下载反射器(谷歌它),可以让你步入任何代码。只需将断点放到代码中,一旦VisualStudio调用它,就可以通过调用堆栈向后导航,并将断点放到VS代码中。 – 2014-12-05 08:53:18

相关问题