我试图在我的C#解决方案中编写一个用于检测未使用的using语句的插件。使用MonoDevelop.Ide
我可以使用
var document = IdeApp.Workbench.ActiveDocument.ParsedDocument
foreach (var u in (document.ParsedFile as CSharpUnresolvedFile).RootUsingScope.Usings)
Console.WriteLine(u);
这会输出类似
的内容System.Collections.Generic
System.Linq
Foundation
...
立即控制台告诉我,u
是
{Foundation}
Identifier: "Foundation"
LookupMode: ICSharpCode.NRefactory.CSharp.NameLookupMode.TypeInUsingDeclaration
TypeArguments: {ICSharpCode.NRefactory.EmptyList<ICSharpCode.NRefactory.TypeSystem.ITypeReference>}
Non-public members:
但是如何判断是否在文档中某处使用Foundation
?
(由于我的IDE中突出显示灰色语法,我认为它很可能。)
答案 0 :(得分:1)
这是一个已在MonoDevelop中实施的工具。要启用它,您需要转到首选项 - &gt;文字编辑器 - &gt;源分析,并选中“启用打开文件的源分析”选项。