Очень жаль, что функция комментариев не умнее этого, когда дело доходит до блока, который уже содержит некоторые закомментированные строки в XML.
Довольно безболезненным решением этой проблемы может быть использование регулярных выражений:
- Выберите блок кода XAML, который вы хотите закомментировать.
- Нажмите кнопку комментария на панели инструментов Visual Studio
- Сохранение выбранного вами закомментированного блока текста:
- Открыть диалоговое окно «Найти / заменить» (CTRL + SHIFT + H)
- В опциях поиска выберите «Использовать обычный
выражение "флажок.
- Убедитесь, что поле со списком «Искать в:» установлено с
«Выбор».
- В поле «Найти» введите:
\<\!\-\-(.*)\-\-\>
- В поле «Заменить» введите:
--><!--$1--><!--
- Нажмите кнопку «Заменить все»
Это обернет все закомментированные строки в вашем блоке с закрывающим тегом комментария в начале и открывающим тегом комментария в конце, гарантируя, что блок текста, предшествующий этому комментарию, действителен, а следующий за ним тоже. *
Чтобы удалить комментарии и вернуться к исходному блоку XAML, сначала используйте регулярное выражение, но с обратной логикой:
- Поле поиска:
\-\-\>\<!\-\-(.*)\-\-\>\<\!\-\-
- Заменить поле:
<!--$1-->
Затем, держа выбранный блок XAML, нажмите кнопку «Раскомментировать» из Visual Studio.
ПРИМЕЧАНИЕ: В зависимости от используемой версии Visual Studio синтаксис регулярного выражения может различаться. Я использую VS 2012. Предыдущие версии использовали фигурные скобки «{}» для изоляции выражения и обратную косую черту «\», чтобы использовать его обратно в поле замены. Теперь это круглые скобки '()' и знак доллара '$' соответственно.