Переименовать, используя предложенное имя переменной с помощью resharper

#vb.net #refactoring #coding-style #resharper

#vb.net #рефакторинг #стиль кодирования #resharper

Вопрос:

Я использую ночные сборки resharper 6 и VB.net . У меня есть большой проект medium с несколькими файлами, которые не соответствуют соглашениям о стиле кода моей компании.

Я настроил resharper с моими собственными настройками, и он подсказывает мне правильное имя для каждой переменной (идеально!).

Но я не могу найти какой-либо автоматический способ заменить текущее имя на предлагаемое имя.

Есть ли какой-либо способ сделать это? Если нет… знали ли вы, что для достижения этого нужно использовать coderush Xpress?

Спасибо.

Ответ №1:

Если вы настроили ReSharper в соответствии с вашими соглашениями об именовании, то он должен отображать предупреждение (синее волнистое подчеркивание) под любыми идентификаторами, которые не соответствуют. Если вы наведете текстовый курсор на один из этих идентификаторов с неправильным названием, вы должны увидеть значок пирамиды, появляющийся возле левого поля. Затем вы можете нажать Alt Enter (или щелкнуть значок пирамиды), чтобы открыть меню быстрого исправления. В меню должна быть опция «Переименовать в ‘_myField'». Обычно это первый элемент в списке, поэтому вы можете просто нажать Enter еще раз, чтобы выполнить переименование.

Если вы хотите сделать это для всего в исходном файле, вы можете использовать команду ReSharper > Проверить> Следующая проблема в файле (или ее сочетание клавиш — F12 в ключевой карте IDEA), чтобы переместить курсор к следующему предупреждению в файле. Затем, если это предупреждение о другом имени, вы можете использовать Alt Enter, ввести еще раз, чтобы исправить это.

К сожалению, не существует способа автоматически исправлять каждый экземпляр предупреждения сразу (хотя это было запрошено; пожалуйста, не стесняйтесь голосовать за RSRP-126551 в их системе отслеживания проблем).

Комментарии:

1. Конечно, это ожидаемое поведение, и я просто проверяю, что оно идеально работает в C #, но не в VB.net .

2. Вы отказываетесь сказать, какая часть не работает, из-за чего кому-либо трудно помочь. И знаете ли вы, работало ли это в 5.1? Всегда возможно, что что-то сломано в сборках 6.0 EAP. (На самом деле, в сборках 6.0 EAP сломано очень много вещей.)

3. Я обратился напрямую к JetBrains. Соглашения об именовании не поддерживаются в 5.1 (без выделения), они поддерживаются в 6 (появляется выделение), но рефакторинг автоматического переименования ограничен только полями. Не работайте с локальными переменными или параметрами в функциях. Я работаю на c # уже давно, и я не знал, что возможности resharper в vb не те же самые.