Можно ли изменить панель навигации в Visual Studio или иным образом добавить аналогичный графический элемент в редактор кода?

Мне нравится группировка и возможность просмотра, которые обеспечивают регионы в коде C#, но мне не нравится ручной процесс их обслуживания (даже инструменты автоматического форматирования не идеальны, так как они занимают некоторое время для больших файлов), а другим разработчикам они не нравятся в все, поэтому лучшим решением было бы то, которое выполняется IDE автоматически и без вмешательства в код. В Visual Studio уже есть что-то подобное с панелью навигации для просмотра классов и членов в алфавитном порядке, но она не обеспечивает группировку по типу элемента кода. Я хотел бы, чтобы на панели навигации было три раздела вместо двух: первый показывает классы, второй показывает элементы, отсортированные по алфавиту, а третий показывает элементы, вложенные по типу элемента, как предоставляют регионы (например, поля, свойства). , общедоступные методы, обработчики событий и т. д.). Могу ли я каким-либо образом получить доступ к этой панели навигации через Visual Studio SDK, а если нет, могу ли я добавить аналогичный графический элемент в редактор кода и создать его с нуля? Альтернативой является реализация моей идеи в окне инструментов и его пристыковка, как в окне файловой структуры ReSharper, что было бы менее идеальным. Спасибо!


person sou    schedule 18.05.2010    source источник


Ответы (1)


Я не думаю, что вы можете расширить встроенную панель навигации для того, что вам нужно, но в Visual Studio 2010 вы можете создать свою собственную панель навигации в качестве поля просмотра IWpfTextViewMargin. В вашей реализации вам потребуется сканировать текущий файл на наличие классов и членов, используя Code Model API и синхронизируйте то, что вы показываете, с движением курсора.

person Oleg Tkachenko    schedule 19.05.2010