立即删除整个项目或解决方案中未使用的命名空间

问题描述 投票:0回答:11

我知道你可以逐个文件地完成。

有没有办法一次性对项目中的所有文件执行此操作?

c# namespaces
11个回答
193
投票

VS 2017、2019 或 2022 中不需要任何插件。单击任何 using 语句附近的灯泡图标,然后单击

Solution
部分旁边的
Fix all occurrences in


87
投票

涉及 Productivity Power Tools 扩展的其他答案并未详细介绍如何实际执行此操作,因此这里有一些针对 Visual Studio 2013、2015、2017 和 2019 的说明:

首先,在 Visual Studio 中打开工具 > 扩展和更新...对话框,选择左侧栏中的在线,然后在 Visual Studio 库中搜索“生产力强大工具”。安装扩展并重新启动 VS。

或者,您可以手动下载并安装适合您的 Visual Studio 版本的扩展:

生产力电动工具 2013
生产力电动工具 2015
生产力电动工具 2017/2019

对于 VS2017 和 VS2019,您还可以与 Power Tools 包中的其他扩展分开下载 Power Commands 扩展:

Visual Studio 的电源命令

请注意,在撰写本文时,VS2017 版本不适用于 .Net Core 项目/解决方案。

安装扩展后,只需右键单击解决方案资源管理器中的解决方案,然后选择电源命令 > 删除和排序使用

这可能需要一段时间,特别是对于大型解决方案;它也不会保持修改后的文件打开(因此无法撤消),因此确保在运行之前在选择的 VCS 中提交所有内容,以便在出现问题时可以恢复它所做的更改!

更新:格式化所有文件

最近我一直在使用

格式化所有文件扩展,它允许您执行格式化文档删除和排序使用以及您选择的另一个自定义命令(所有这些都可选,在VS首选项中设置)。

它似乎工作得很好,但同样,无法撤消,所以

确保在运行之前在选择的 VCS 中提交所有内容


19
投票
ReSharper

这样的工具提供了自动化技巧来做到这一点:不久前 VS feed 中有一个 链接;归结为: 转到工具 -> 宏 -> 宏 IDE...

    在项目资源管理器中,添加 -> 添加模块...(输入名称 - 我使用了 OrganiseUsings)
  • 粘贴下面的代码
  • 文件 -> 保存 MyMacros,退出
  • 现在,如果您右键单击工具栏并自定义... - 您应该能够找到 MyMacros.OrganiseUsings.RemoveAndSortAll - 将其拖动到方便的地方(可能是“工具”菜单;放置后您可能还想更改名称) .
您现在可以使用此选项对整个解决方案运行“删除和排序”命令。节省大量时间。

====代码====

Imports System Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports System.Diagnostics Public Module OrganiseUsings Public Sub RemoveAndSortAll() On Error Resume Next Dim sol As Solution = DTE.Solution For i As Integer = 1 To sol.Projects.Count Dim proj As Project = sol.Projects.Item(i) For j As Integer = 1 To proj.ProjectItems.Count RemoveAndSortSome(proj.ProjectItems.Item(j)) Next Next End Sub Private Sub RemoveAndSortSome(ByVal projectItem As ProjectItem) On Error Resume Next If projectItem.Kind = Constants.vsProjectItemKindPhysicalFile Then If projectItem.Name.LastIndexOf(".cs") = projectItem.Name.Length - 3 Then Dim window As Window = projectItem.Open(Constants.vsViewKindCode) window.Activate() projectItem.Document.DTE.ExecuteCommand("Edit.RemoveAndSort") window.Close(vsSaveChanges.vsSaveChangesYes) End If End If For i As Integer = 1 To projectItem.ProjectItems.Count RemoveAndSortSome(projectItem.ProjectItems.Item(i)) Next End Sub End Module

分析菜单下有一个内置功能,称为代码清理。
如果您单击配置文件 1,它将执行删除和排序功能。

11
投票

对于 Visual Studio 2010,您可以从 Visual Studio 库下载

9
投票
扩展。

对我来说效果很好。

如果您的意思是“使用”电源命令包含此功能+船负载更多。

4
投票

http://code.msdn.microsoft.com/PowerCommands

生产力 强大的工具正是您所需要的。

3
投票

安装后,您可以从“工具 - >选项 - >生产力电动工具 - > PowerCommands - >常规”中找到“

保存时删除并排序使用”。勾选该选项后,重新启动 VS。现在保存,您就会看到魔法。

对于 VS 2015,请看一下这个

对于更新版本(包括 2017 年),请尝试

3
投票
扩展。它对我来说非常有效。

这里是对上面 VB.NET 脚本的一个小改进。确保您安装了


0
投票

这完美地完成了工作。

安装该工具,然后在解决方案资源管理器中右键单击您的解决方案,然后在菜单顶部您会看到批处理格式:

无论您选择什么,都会应用于解决方案中的每个文件,正如您在屏幕截图中看到的,还有其他选项,您还可以格式化每个文档。

Visual Studio 2017 具有内置功能,可以从整个项目中删除不必要的名称空间。

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.