使用MonoDevelop查找未使用的using语句

时间:2015-09-16 13:18:46

标签: c# refactoring monodevelop using automated-refactoring

我试图在我的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中突出显示灰色语法,我认为它很可能。)

1 个答案:

答案 0 :(得分:1)

这是一个已在MonoDevelop中实施的工具。要启用它,您需要转到首选项 - &gt;文字编辑器 - &gt;源分析,并选中“启用打开文件的源分析”选项。