Удалить неиспользованные использования по всей сборке - PullRequest
51 голосов
/ 25 февраля 2010

Мне интересно, может быть, ReSharper может проходить через каждый класс и удалять неиспользованные использования? Я посмотрел, но не вижу такой опции в R # 4.5. Кто-нибудь видел это в Resharper за исключением того, что он мог убрать использование в одном классе?

Ответы [ 3 ]

89 голосов
/ 02 февраля 2015

Начиная с Resharper 9, вы можете просто выбрать область действия «в решении» при очистке блока использования.

enter image description here

44 голосов
/ 25 февраля 2010

Я считаю, что очистка проекта - это новая функция в ReSharper 5.

Я забираю это, функция в ReSharper 4.5. Если щелкнуть правой кнопкой мыши решение, появится элемент Код очистки ... , который позволяет применить к решению профиль очистки. Вы можете создать новый профиль очистки из узла Code Cleanup в параметрах ReSharper, если вы хотите, чтобы профиль просто корректировал директивы using.

5 голосов
/ 15 апреля 2011

Существует также другой способ, который я нашел здесь , с использованием макросов.

Шаг 1. Создание нового макроса в Visual Студия через Инструменты | макрос меню.

Шаг 2: Вставьте приведенный ниже код в Модуль и сохранить его

Public Module Module1
    Sub OrganizeSolution()
        Dim sol As Solution = DTE.Solution
        For i As Integer = 1 To sol.Projects.Count
            OrganizeProject(sol.Projects.Item(i))
        Next
    End Sub

    Private Sub OrganizeProject(ByVal proj As Project)
        For i As Integer = 1 To proj.ProjectItems.Count
            OrganizeProjectItem(proj.ProjectItems.Item(i))
        Next
    End Sub

    Private Sub OrganizeProjectItem(ByVal projectItem As ProjectItem)
        Dim fileIsOpen As Boolean = False
        If projectItem.Kind = Constants.vsProjectItemKindPhysicalFile Then
            'If this is a c# file 
            If projectItem.Name.LastIndexOf(".cs") = projectItem.Name.Length - 3 Then
                'Set flag to true if file is already open 
                fileIsOpen = projectItem.IsOpen
                Dim window As Window = projectItem.Open(Constants.vsViewKindCode)
                window.Activate()
                projectItem.Document.DTE.ExecuteCommand("Edit.RemoveAndSort")
                'Only close the file if it was not already open 
                If Not fileIsOpen Then
                    window.Close(vsSaveChanges.vsSaveChangesYes)
                End If
            End If
        End If
        'Be sure to apply RemoveAndSort on all of the ProjectItems. 
        If Not projectItem.ProjectItems Is Nothing Then
            For i As Integer = 1 To projectItem.ProjectItems.Count
                OrganizeProjectItem(projectItem.ProjectItems.Item(i))
            Next
        End If
        'Apply RemoveAndSort on a SubProject if it exists. 
        If Not projectItem.SubProject Is Nothing Then
            OrganizeProject(projectItem.SubProject)
        End If
    End Sub
End Module

Шаг 3: Запустите макрос в любом решении что бы вы хотели, и вот оно у вас! Наслаждайтесь:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...