Панель навигации с учетом регистра отсортирована в Visual Studio 2017

Я заметил, что в Visual Studio 2017 (15.2, 26430.6) и в файле C ++ список функций на панели навигации сортируется с учетом регистра (см. Изображение ниже). Это не было в Visual Studio 2010.

С другой стороны, как в обозревателе решений, так и в представлении классов отображаются функции и методы, отсортированные с учетом регистра без учета регистра.

Есть ли опция, файл конфигурации, свободно плагин и т. д., что я могу использовать, чтобы изменить это поведение? Таким способом очень сложно проверить файл.

Единственное, что я нашел до сих пор, но это не бесплатно, это Суперзарядный плагин, кажется, предлагает свою собственную панель навигации.


  1. В Visual Studio 2017

    введите описание изображения здесь

  2. Тот же проект, открытый в Visual Studio 2010

    введите описание изображения здесь

Замечания: Я заинтересован в том, как решить эту проблему, а не в предложениях по стилизации кода, смешанных руководящих принципах, сокращении количества функций для каждого файла и т. Д. Я знаю, что это не лучшая практика, но проект таков, и мне приходится иметь дело с этим.


ОБНОВИТЬ: Этим утром я обновился до VS 2017 15.2 (26430.12), и эта проблема все еще присутствует.

4

Решение

О проблеме действительно было сообщено Microsoft полтора года назад, но вчера такая проблема была закрыта как Не исправлю, так что никаких официальных решений для него, похоже, нет.

Вот Вы можете найти сообщение об ошибке и причины закрытия проблемы.

2

Другие решения

Это похоже на регрессию (может быть, связано с введением SQLite в качестве бэкэнда базы данных IntelliSense?) — вы должны сообщить об ошибке, однако ваше соглашение с Microsoft позволяет. FWIW, немного реверс-инжиниринга, показывает, что в VS 2017 упорядочение осуществляется ядром базы данных SQLite. При открытии соединения с базой данных VS устанавливает собственную сортировку (через https://sqlite.org/c3ref/create_collation.html) который он называет WORD и явно использует его (т.е. запрос имеет ORDER BY i.name COLLATE WORD в тексте), когда требуется упорядочение по имени символа, как и для этого поля со списком. Реализация функции сопоставления преобразует символы UTF-8 в UTF-32 и после некоторого специального набора для математических символов и т. Д., В конечном счете, выполняет порядковое сравнение по этому вопросу. Кажется преднамеренным для меня.

1