ReSharper: Переименовать пространство имен не доступно? - PullRequest
9 голосов
/ 12 апреля 2010

Я пытаюсь переименовать пространство имен. По какой-то причине ReSharper не дает мне возможности сделать это. Я щелкаю на нем правой кнопкой мыши и выбираю Refactor , но все, кроме «Преобразовать», неактивно. Я пробую комбинацию клавиш CTRL R + R, и она говорит, что команда недоступна. Что я делаю не так?

Вот документация, предполагающая, что то, что я пытаюсь сделать, должно работать:

http://www.jetbrains.com/resharper/documentation/help20/Refactoring/renaming.html#renameNamespace

Я использую Visual Studio 2008 с R # 4.5

Ответы [ 4 ]

3 голосов
/ 23 февраля 2011

Я сталкивался с этим раньше, и ответ очень тонкий. Не выбирайте (например, двойным щелчком) полное имя метода (или пространство имен, если переименовываете пространство имен). Вместо этого убедитесь, что имя метода не выбрано, и поместите курсор над именем метода. например,

enter image description here

НЕ это

enter image description here

Когда вы выбираете меню «Преобразовать», теперь элементы должны быть доступны для методов, и «Переименовать» станет доступным, если вы поместили курсор в пространство имен. На мой взгляд, это должно быть изменено, это не очевидно.

2 голосов
/ 28 марта 2014

Для чего это стоит, у меня просто была эта проблема. Закрытие Visual Studio и повторное его открытие устранили проблему для меня. НТН.

2 голосов
/ 21 мая 2011

Видимо, способ сделать это сейчас - через меню ReSharper => Refactor => Adjust Namespaces или открыть представление классов, щелкнуть правой кнопкой мыши пространство имен, которое вы хотите переименовать, и снова выбрать Refactor => Adjust Namespaces.

См. Также: Самый быстрый способ обновления пространств имен с помощью ReSharper?

0 голосов
/ 23 февраля 2011

Это старая проблема, но я только что имел это и, возможно, знаю обходной путь. Так как кто-то прокомментировал только вчера, время не могло быть более совершенным. В любом случае, У меня возникла та же проблема, и я наконец смог выполнить рефакторинг переименования в своем пространстве имен.

  • Я выбрал один из классов в своем проекте и перешел на другой рефакторинг пространства имен.
  • Затем я смог перейти в другой класс и выполнить рефакторинг пространства имен.

Возможно, ошибка в Resharper в том, что если пространство имен согласованно во всем классе, то оно отключено? Маловероятно, поскольку об этом сообщалось еще в 4,5 ...

...