Как настроить очистку кода ReSharper при сохранении? - PullRequest
38 голосов
/ 18 июня 2010

Мне бы хотелось настроить Visual Studio / ReSharper для запуска «Очистки кода» всякий раз, когда я сохраняю файл.

Бонусом может быть настройка этого только для файлов C #, так как иногда я обнаруживаю, что очистка наФайлы ASP.NET не работают без ошибок.

Ответы [ 6 ]

28 голосов
/ 13 августа 2010

Вы можете записать макрос ( Ctrl + E , Ctrl + C , Run, Ctrl + S ).Затем запустите это вместо сохранения.Тогда все, что вам нужно сделать, это назначить CTRL + S вашему макросу.

Public Module RecordingModule
    Sub CLEAN_AND_SAVE()
    DTE.ExecuteCommand ("ReSharper.ReSharper_CleanupCode")
    DTE.ActiveDocument.Save
    End Sub
End Module

Этот метод покажет диалоговое окно очистки кода, где вам нужно будет выбрать Run.

Чтобы удалить взаимодействие с пользователем , вам нужно будет выбрать профиль для запуска при запуске очистки кода.Вы можете настроить это, зайдя в ReSharper |Варианты |Инструменты |Очистка кода и выбор профиля в раскрывающемся списке «Профиль для автоматической очистки».Здесь также можно создать пользовательский профиль , чтобы указать, какие изменения необходимо внести в ваш код.В 4.5, однако, это не позволяет вам пропустить aspx-страницы.Единственным отличием является C # и VB.Net.

Полезная ссылка: http://www.jetbrains.com/resharper/features/code_formatting.html

16 голосов
/ 10 октября 2012

Я только что опубликовал бесплатное расширение Visual Studio, которое автоматизирует аналогичный сценарий для упрощения установки. Возможно, вы захотите попробовать на http://blog.pedropombeiro.com/keeping-code-formatted-the-easy-way/.

12 голосов
/ 04 мая 2014

Это мой первый пост (ура!), Так что извините, если он не идеален ...

Вопрос касается R #, но вы также упомянули ( Visual Studio /ReSharper), так что, возможно, моя подсказка кому-нибудь поможет.В расширении Visual Studio под названием «Инструменты повышения производительности» для этого есть два параметра («Инструменты» -> «Параметры» -> «Инструменты повышения производительности» -> «PowerCommands: General»):

  1. Форматирование кода при сохранении.
  2. Удаление и сортировка при сохранении.

Я считаю, что PPT приятно иметь, даже с установленным R #.Вы можете получить их из Галерея Visual Studio (версия 2012 года, но есть также версии 2010 и 2013).

5 голосов
/ 09 марта 2016

Я создал расширение для автоматического запуска ReSharper Silent Cleanup при сохранении файла: https://visualstudiogallery.msdn.microsoft.com/43be6ead-dabf-4bb1-b019-1e361efd8410

Он поддерживает только тихую очистку ReSharper, но работает.

1 голос
/ 23 сентября 2013

Если вы используете VS2012 и не можете использовать решение для макросов, вы можете использовать AutoHotKey (или аналогичный) для его автоматизации вместо использования макросов:

  1. В Visual Studio:
    1. Назначьте ключ команде ReSharper_SilentCleanupCode, например: CONTRL + SHIFT + C
    2. Измените ключ сохранения с CONTROL + S на что-то другое, например: CONTRL + SHIFT + S
  2. В AutoHotKey создайте фрагмент, который будет выглядеть примерно так:

    ^s::
        Send, ^+c
        Sleep, 300
        Send, ^+s
    return
    
0 голосов
/ 29 марта 2018

Может быть, это поможет кому-то еще в будущем.Мне очень понравилась идея Макро, поэтому я принял ее.Но этого было недостаточно для меня.Я хотел сохранить все несохраненные открытые файлы одновременно и по-прежнему наслаждаться функцией очистки ReSharper.Итак, я придумал этот макрос:

Public Module SaveUtils
    Public Sub CleanAndSave()
        DTE.ExecuteCommand("ReSharper_SilentCleanupCode")
        DTE.ActiveDocument.Save()
    End Sub

    Public Sub CleanAndSaveAll()
        For i = 1 To DTE.Documents.Count
            Dim document = DTE.Documents.Item(i)
            If (Not document.Saved) Then
                document.Activate()
                CleanAndSave()
            End If
        Next i
    End Sub
End Module
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...