Как сообщить ReSharper о сортировке сообщений с системными пространствами имен НЕ вверху?
Visual Studio имеет возможность размещать системные директивы вверху при их сортировке.
![enter image description here]()
Если этот параметр не отмечен, сортировка с помощью операторов, щелкнув правой кнопкой мыши на них и используя функцию "Упорядочить использование", помещает пространства имен System в алфавитном порядке вдоль всех других имён импорта.
Однако ReSharper, похоже, не соблюдает эту настройку и не имеет ничего похожего на собственной странице параметров импорта имён. Он всегда ведет себя так, как будто вы хотите, чтобы пространство имен System было наверху. Это особенно раздражает, когда у вас уже есть что-то внизу, и вы позволяете ReSharper предлагать пространство имен для импорта, а затем вы заканчиваете с некоторыми на обоих концах списка.
Есть ли способ исправить это? Или это просто ошибка/надзор в ReSharper?
Ответы
Ответ 1
Я тестировал это снова в ReSharper 8, чтобы проверить, исправлено ли это, и я заметил что-то интересное:
-
Если мои существующие пространства имен уже имеют элементы System
, то ReSharper вставляет новые пространства имен под ними.
-
Если мои существующие пространства имен имеют хотя бы один элемент перед элементами System
, то ReSharper вставляет новые пространства имен в алфавитном порядке.
-
Поведение ReSharper одинаково независимо от настройки Visual Studio. Он учитывает существующие пространства имен, а не настройки Visual Studio.
Итак, если у меня есть следующее:
using A;
using System;
using Z;
Тогда, если я использую класс из пространства имен B
и alt-enter, чтобы позволить ReSharper добавлять пространство имен, оно будет выглядеть как:
using A;
using B;
using System;
using Z;
НО, если у меня есть это:
using System;
using Z;
И я делаю то же самое, тогда я получу:
using System;
using B;
using Z;
И не имеет значения, что такое настройка VS.
Я предполагаю, что это то, что происходило и в ReSharper 7, и я просто не заметил.
Ответ 2
Я использую ReSharper 7 и, по крайней мере, для меня ReSharper берет параметр "Выбор директивы системы" из параметров Visual Studio.
Иногда, когда настройки VS и ReSharper запутаны, они помогают reset настройкам Visual Studio в настройках инструмента → Импорт и экспорт → Reset.