我想为visual studio 2010构建语言服务。我首先尝试按照MSDN中的教程和文档进行操作。
问题是我没有成功使这个工作(我稍后会解释我的问题)。所以我深入研究了现有的实现,发现Ook!和lua。这两个项目都没有使用我在MSDN上找到的教程或文档,而是基于MEF。 Lua仅在以前的Visual Studio版本中使用它。
所以我想知道我是否使用过时的方法来创建语言服务(但文档的目标是Visual Studio 2010),或者有不同的方法来执行此操作,这取决于需求。
在我的情况下,我有一种不需要编译成cli的语言,但我希望有一个具有着色,语法警告和错误的编辑器,intellisense ......
我提到的问题是,在启动exp实例时,没有带文件扩展名的文本编辑器,Visual Studio开始有很多滞后。使用3个属性注册语言服务:ProvideServiceAttribute,ProvideLanguageServiceAttribute和ProvideLanguageServiceExtension。也在Package intialize方法中初始化,就像Proffer the Language中提到的....当我尝试用扩展程序打开文件时加载包,语言服务被初始化。
所以我不知道为什么我不工作,请你帮我理解语言服务是如何工作的,以及实现它的最佳方法是什么
由于
答案 0 :(得分:1)
很有可能你的IScanner
实施无限循环,发生在我身上。