При редактировании действительно длинных блоков кода (которые в любом случае должны быть реорганизованы, но это выходит за рамки этого вопроса), я часто мечтаю о возможности свернуть блоки операторов, как можно свернуть функциональные блоки. То есть было бы замечательно, если бы в схеме кода появился значок минус для всего, что заключено в фигурные скобки. Похоже, он появляется для функций, классов, областей, пространств имен, использования, но не для условных или итеративных блоков. Было бы замечательно, если бы я мог свернуть такие вещи, как ifs, switch, foreach, такие вещи!
Погуглив немного, я обнаружил, что, очевидно, выделение C ++ в VS позволяет это, а выделение C # в VS - нет. Я действительно не понимаю, почему. Даже Notepad ++ будет так, что эти сбои, если я выберу форматирование C #, поэтому я не понимаю, почему Visual Studio этого не делает.
Кто-нибудь знает надстройку VS2008, которая включит это поведение? Или какая-то скрытая установка для этого?
Отредактировано, чтобы добавить: вставка областей, конечно, вариант, и это уже пришло мне в голову, но, честно говоря, мне не нужно было оборачивать вещи в области, которые уже заключены в фигурные скобки ... если я собирался редактировать существующий код, я бы просто реорганизовал его для лучшего разделения проблем в любом случае. («обертывание» новыми методами вместо регионов;)
Ответы:
Начиная с Visual Studio 2017, составление отчетов является встроенным.
Существует несколько расширений, которые выполняют эту задачу для версий VS до 2017 года, начиная с версии VS 2010:
Последнее расширение поддерживает только VS 2015 и VS 2017, но оно самое мощное.
Он поддерживает раскраску синтаксиса внутри свернутых блоков, он более отказоустойчив и оптимизирован.
источник
Я не знаю надстроек, но вы упомянули регионы, и я не вижу ничего плохого в том, чтобы делать что-то подобное ...
РЕДАКТИРОВАТЬ: В ответ на вопрос РЕДАКТИРОВАТЬ: Вы правы, наклеивание группы регионов везде не идеально, и рефакторинг, вероятно, путь. Но кажется, что вы ищете что-то волшебное, что "организует" код для вас, и я не думаю, что оно существует.
источник
Вы можете свернуть определенные блоки текста в пределах Visual Studio, но вам нужно отключить автоматическое выделение.
Щелкните правой кнопкой мыши в окне кода и выберите (Outlining | Stop Outlining)
Затем выделите какой-нибудь текст, щелкните правой кнопкой мыши и выберите (Outlining | Hide Selection)
Когда вы снова включите автоматическое выделение, ваши пользовательские «Регионы» больше не будут разрушаться.
источник
Visual Studio 2008 поддерживает области внутри функций, если вы сохраняете их на одном уровне иерархии кода
источник
Позвольте мне сказать что-то другое: нажмите
(ctrl+m,ctrl+h)
или в редактирование> выделение> скрыть выделение, это так полезно.источник
Эта функция была добавлена в редактор C # Visual Studio 2010. Я не могу найти источник, подтверждающий, что он действительно был вставлен, но я помню, как видел его в одном из блогов члена команды разработчиков Dev 10, где говорится об изменениях, произошедших после бета-версии 1 или чего-то подобного. В качестве утешения приведу один комментарий Microsoft, в котором предлагается добавить его.
источник
Здесь я добавлю, что в VS 2010 Microsoft добавила возможности WPF adorner, используя Managed Extensibility Framework (MEF), это позволит нам расширить редактор исходного кода, чтобы упорядочить его, сделав его более читабельным и доступным.
Например, визуализатор Summary Comments, который Скотт Гу продемонстрировал на PDC 2008 .
Так что с нетерпением ждем лучшего будущего для разработчиков :)
источник
Coderush обрисует все блоки кода для вас. Не уверен, что это позволяет вам расширять / сворачивать блоки, но выделение является следующей лучшей вещью. Я использую Resharper вместо Coderush, который, насколько я знаю, также не обеспечивает свертывание блоков :(
источник
Я нашел это для Visual Studio 2013 и нашел его очень полезным. Это работает, даже если вы ставите простые скобки вокруг кода с помощью {.....}
После обмена я нашел кого-то еще, также упомянул эту ссылку. Мой голос также за этот инструмент.
Инструмент выделения C # для Visual Studio 2013
источник
В VS2017 вы можете выделить часть кода, щелкнуть правой кнопкой мыши, Outlining> Hide selection. Это свернет код и обеспечит переключение на выделенный раздел.
источник
# регион, # endregion - разумный вариант.
источник