一次性删除整个项目或解决scheme中未使用的名称空间
我知道你可以通过文件来做到这一点。
无论如何,要一步完成项目中的所有文件?
你的意思是使用语句? 首先,请注意,他们通常不会损害其他占用空间。 像ReSharper这样的工具提供了自动的技巧来做到这一点,但是:前一段时间,VS feed中有一个链接, 它归结为:
- 进入工具 – >macros – >macrosIDE …
- 在项目资源pipe理器中,添加 – >添加模块…(放在一个名字 – 我使用了OrganiseUsings)
- 粘贴下面的代码
- 文件 – >保存MyMacros,退出
现在,如果你右键单击工具栏和Customize … – 你应该能够findMyMacros.OrganiseUsings.RemoveAndSortAll – 把它拖到某个地方(也许是Tools菜单;你也可能想在放置它之后改变它的名字)。
现在可以使用此选项为整个解决scheme运行“移除”和“sorting”命令。 一个很大的节省时间。
====代码====
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
其他涉及生产力电源工具扩展的答案并没有涉及到如何实际执行此操作的任何细节,因此以下是Visual Studio 2013,2015和2017的一些说明:
首先,在Visual Studio中打开工具>扩展和更新…对话框,在左侧栏中select联机 ,然后在Visual Studio库中search“生产力动力工具” 。 安装扩展并重新启动VS.
或者,您可以手动下载并安装适用于您的Visual Studio版本的扩展:
生产力电动工具2013
生产力电动工具2015年
生产力电动工具2017
对于VS2017,您还可以在Power Tools包中单独下载Power Commands扩展:
Visual Studio的电源命令(VS2017)
请注意,在撰写本文时,VS2017版本不适用于.Net Core项目/解决scheme。
安装扩展程序后,只需右键单击解决scheme资源pipe理器中的解决scheme,然后select电源命令>删除和sorting使用 。
这可能需要一段时间,特别是在大型解决scheme上。 它也不会保持修改的文件打开(因此不能撤消),所以确保在运行之前将所有VCS中的所有内容都提交 ,以便在出现问题时恢复所做的更改!
对于Visual Studio 2010,您可以从Visual Studio库下载“删除并sorting使用”扩展。
http://visualstudiogallery.msdn.microsoft.com/en-us/cb559aa8-d976-4cc2-9754-5a712f985d16
为我工作好
如果你的意思是“使用”电源命令包含这个function+船加载更多。
生产力电动工具是你需要的。 https://visualstudiogallery.msdn.microsoft.com/dbcb8670-889e-4a54-a226-a48a15e4cace
安装完成后,您可以从“工具 – >选项 – >生产力电动工具 – > PowerCommands – >常规 ”中find“ 保存中删除并sorting ”。 检查该选项后,重新启动VS. 现在保存,你看到了魔法。
对于VS 2015,看看这个
以上是VB.NET脚本的一个小改进。 确保安装了生产力电动工具 。
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) ElseIf projectItem.Name.LastIndexOf(".vb") = projectItem.Name.Length - 3 Then Dim window As Window = projectItem.Open(Constants.vsViewKindCode) window.Activate() projectItem.Document.DTE.ExecuteCommand("EditorContextMenus.CodeWindow.OrganizeImports.RemoveandSortImports") window.Close(vsSaveChanges.vsSaveChangesYes) End If End I
对于包括2017的更新版本,请尝试“格式化所有文件”扩展名。 它一直在为我工作得很好。
我正在使用Visual Studio 2015,并find一个名为BatchFormat的工具: https ://marketplace.visualstudio.com/items ? itemName = vs-publisher-147549.BatchFormat
这完成了这项工作。
安装该工具,然后在解决scheme资源pipe理器中右键单击解决scheme,然后在菜单顶部看到批处理格式:
无论您select什么,都可以应用到解决scheme中的每个文件,正如您在屏幕截图中所看到的,还有其他选项,您也可以格式化每个文档。