Мне интересно, может ли ReSharper работать с каждым классом и удалять неиспользуемые записи? Я посмотрел, но я не вижу такого варианта в R # 4.5. Кто-нибудь видел это в Resharper за пределами того, чтобы просто удалять записи в одном классе?
Удалить неиспользуемые операции по всей сборке
Ответ 1
Я считаю, что очистка по проекту - новая функция в ReSharper 5.
Я верю в это, функция находится в ReSharper 4.5. Если вы щелкните правой кнопкой мыши по решению, появится пункт "Очистить код...", который позволяет применить к нему профиль очистки. Вы можете создать новый профиль очистки из Очистки кода node в параметрах ReSharper, если вы хотите, чтобы профиль просто настраивал директивы using
.
Ответ 2
С помощью Resharper 9 вы можете просто выбрать область "в решении" при очистке используемого блока.
Ответ 3
Существует также другой способ, который я нашел здесь, используя макросы.
Шаг 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: Запустите макрос на любом решении что вы хотели бы и там у вас есть! Наслаждайтесь:)