Programing

전체 프로젝트 또는 솔루션에서 사용하지 않는 네임 스페이스를 한 번에 제거

crosscheck 2021. 1. 5. 08:29
반응형

전체 프로젝트 또는 솔루션에서 사용하지 않는 네임 스페이스를 한 번에 제거


파일별로 할 수 있다는 것을 알고 있습니다.

프로젝트의 모든 파일에 대해 한 번에이 작업을 수행 할 수있는 방법이 있습니까?


문장을 사용한다는 뜻입니까? 첫째, 그들은 일반적으로 공간을 차지하는 다른 사람에게 해를 끼치 지 않습니다. ReSharper 와 같은 도구는이를 위한 자동화 된 트릭을 제공합니다.하지만 얼마 전에 VS 피드에 링크 가있었습니다 . 다음과 같이 요약됩니다.

  • 도구-> 매크로-> 매크로 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

Productivity Power Tools 확장을 참조하는 다른 답변은 실제로이 작업을 수행하는 방법에 대해 자세히 설명하지 않으므로 다음은 Visual Studio 2013, 2015 및 2017에 대한 몇 가지 지침입니다.

먼저 Visual Studio에서 도구> 확장 및 업데이트 ... 대화 상자를 열고 왼쪽 표시 줄 에서 온라인 을 선택한 다음 Visual Studio 갤러리에서 "생산성 전원 도구" 를 검색합니다 . 확장을 설치하고 VS를 다시 시작하십시오.

또는 Visual Studio 버전에 대한 확장을 수동으로 다운로드하고 설치할 수 있습니다.

생산성 전동 공구 2013
생산성 전동 공구 2015
생산성 전동 공구 2017

VS2017의 경우 Power Tools 팩의 다른 기능과 별도로 Power Commands 확장을 다운로드 할 수도 있습니다.

Visual Studio (VS2017) 용 전원 명령

작성 시점에 VS2017 버전은 .Net Core 프로젝트 / 솔루션에서 작동하지 않습니다.

확장을 설치했으면 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭 한 다음 전원 명령> 사용 제거 및 정렬 을 선택 합니다.

이는 특히 대규모 솔루션에서 시간이 걸릴 수 있습니다. 또한 그래서, (따라서 더 취소) 개방 수정 된 파일을 보관하지 않습니다 당신이 선택의 VCS 모든 것을 커밋하기 전에 그것을 실행 뭔가 잘못되면 그래서 당신이 만드는 변화를 되돌릴 수있다!

업데이트 : 모든 파일 포맷

최근에 Format All Files 확장을 사용하여 Format Document , Remove and Sort Usings 및 원하는 다른 사용자 지정 명령 을 실행할 수 있습니다 (모두 선택적으로 VS 환경 설정에서 설정).

매우 잘 작동하는 것 같지만 다시 실행 취소하지 않으므로 실행 하기 전에 선택한 VCS에서 모든 것을 커밋해야 합니다 .


VS 2017에는 플러그인이 필요하지 않습니다. using 문 근처의 전구 아이콘을 클릭 Solution하고 Fix all occurrences in부분 옆을 클릭 합니다.


Visual Studio 2010의 경우 Visual Studio 갤러리에서 "다음을 사용하여 제거 및 정렬"확장을 다운로드 할 수 있습니다.

http://visualstudiogallery.msdn.microsoft.com/en-us/cb559aa8-d976-4cc2-9754-5a712f985d16

나를 위해 잘 작동


'사용'을 의미하는 경우 전원 명령에이 기능과 보트로드가 포함되어 있습니다.

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


생산성 전동 공구는 여러분에게 필요한 것입니다. https://visualstudiogallery.msdn.microsoft.com/dbcb8670-889e-4a54-a226-a48a15e4cace

설치가 완료되면 "도구 –> 옵션 –> 생산성 전동 도구 –> PowerCommands –> 일반 " 에서 "저장시 사용 제거 및 정렬 "을 찾을 수 있습니다 . 해당 옵션을 확인한 후 VS를 다시 시작하십시오. 이제 저장하면 마법이 보입니다.

VS 2015의 경우 이것을 보세요


2017을 포함한 최신 버전의 경우 "모든 파일 포맷" 확장자를 사용해보십시오 . 저에게 정말 잘 작동했습니다.

여기에 이미지 설명 입력


다음은 VB.NET에 대한 위의 스크립트에 대한 작은 개선 사항입니다. Productivity Power Tools가 설치되어 있는지 확인하십시오 .

    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

Visual Studio 2015를 사용하고 있으며 BatchFormat이라는 도구를 찾았습니다. https://marketplace.visualstudio.com/items?itemName=vs-publisher-147549.BatchFormat

이것은 작업을 완벽하게 수행했습니다.

도구를 설치 한 다음 솔루션 탐색기에서 솔루션을 마우스 오른쪽 버튼으로 클릭 한 다음 메뉴 상단에 배치 형식이 표시됩니다.

여기에 이미지 설명 입력

선택한 내용은 솔루션의 모든 파일에 적용됩니다. 스크린 샷에서 볼 수 있듯이 다른 옵션이 있으며 모든 문서의 서식을 지정할 수도 있습니다.


Visual Studio 2017에는 전체 프로젝트에서 불필요한 네임 스페이스를 제거하는 기능이 내장되어 있습니다.

여기에 이미지 설명 입력

참조 URL : https://stackoverflow.com/questions/283471/remove-unused-namespaces-across-a-whole-project-or-solution-at-once

반응형