我很想知道visual studio(2010年前后)intellisense如何处理编译器错误。
我的意思是说,例如
或
如何实施这种情报?
如果我愿意,我如何添加自己的规则?
任何指导/链接都会有帮助吗?
答案 0 :(得分:1)
Visual Studio采用不同的方式来表示这些类型的警告,它取决于您正在编辑的语言(C#vs C ++ vs VB.NET等)采用何种技术。
{
,语法定义就知道文件中必须有一个}
,因此这些简单的检查完全是在源代码结构上完成的。然后有一种更高级的验证类型,一种实际上接受所有已解析文件和/或其二进制表示的上下文。例如VB.NET使用
然后有像Resharper和Code Rush这样的工具构建代码的内存表示。 Visual Studio也构建了一个类似的模型,但在很多情况下并不像这些IDE生产力工具那样功能丰富
然后是在构建期间添加的信息
Intellisense使用Visual Studio语言服务以及VSPackages和MsBuild提供的数据在编辑器中呈现文本。正如您所看到的,有多种方法可以收集这样的结果。 Visual Studio编辑器为文本提供了许多extensibility points which you can use to add your own smart tags and adornments。
另外,您有许多提供类似功能的第三方工具。
Visual Studio的ASP.NET MVC editors或Visual Studio的Python插件是了解这些工作原理的绝佳来源。