2

Есть ли способ остановить текстовый редактор Visual Studio (2015 или 2017) от автоматического перемещения строк комментария при нажатии клавиш Ctrl+K, D или соответствующей комбинации клавиш (Ctrl+E, D - форматировать весь документ)?

Я хотел бы, чтобы мои комментарии оставались на позиции, независимо от позиции кода выше или ниже.

Например, при написании комментария к новой строке начинайте, скажем, с 60, как показано ниже:

code line  
|-------- white space ----------| //... comment ..  <-- comment is auto shifted left  
code line

чтобы он не мешал коду ниже или выше, при нажатии Ctrl+K, D комментарий смещается влево, чтобы выровнять его по окружающему коду.

С другой стороны, когда комментарий помещается после строки кода, как показано ниже:

|--code line --|- white space -| //..1st comment line..  
|------white space ------------| //..2nd comment line.. <-- comment is properly auto aligned

возможный 2-й комментарий к новой строке остается выровненным с приведенным выше, что указывает на то, что редактор может корректировать положение строк комментариев на основе определенных критериев.

Я должен уточнить, что я хотел бы сохранить оставшуюся функциональность Ctrl+K, D.

Редактировать: я боюсь, что все рекомендации, упомянутые в разделе « Управление форматированием кода», приведенном ниже Сетом, просто заставляют применять инструкции, уже заданные в текстовом редакторе, для каждого конкретного языка (и, в частности, c #) для целевого текста.

Таким образом, даже если некоторые комментарии или пробелы вставляются перед комментарием, они автоматически стираются, если применяются Ctrl+K, D, просто потому, что нет соответствующих инструкций по обработке пробелов в определенных конструкциях, и поэтому общие Правило применяется.

Я полагаю, что простая инструкция, добавленная в текстовый редактор, такая как "сохранить пробелы или табуляции перед комментариями", решит проблему (как на самом деле, но только когда комментарий следует за кодом).
Это было бы просто улучшением уже существующего, хотя и недокументированного, поведения (насколько я искал).

2 ответа2

1

Если у вас есть ReSharper (отличный инструмент по многим причинам), его механизм форматирования не имеет этой проблемы. Перейдите в VS> Инструменты> Настройка> Клавиатура ...> Показать команды, содержащие "FormatDocument", и удалите все сопоставления клавиш. Теперь покажите команды, содержащие "Reformat", добавьте комбинацию клавиш Ctrl-KD к команде ReSharper.

Вуаля, несвязанные комментарии не выстраиваются в очередь только потому, что они находятся в последовательных строках. Вы также можете просто использовать команду R # Ctrl-Alt-Enter вместо Ctrl-KD, но последнее - то, что мои пальцы автоматически делают после многих лет практики, поэтому переопределение этой комбинации клавиш - мое предпочтительное решение.

Если вы хотите, чтобы у комментария были дополнительные отступы, вы можете использовать "//// Комментарий ...", который может быть не совсем тем, что вы хотите, но не так уж плохо.

-1

Это "половина решения", но я не нашел ничего лучшего. Во многих случаях выравнивание комментариев следует за действием пользователя. В этом случае CTRL-Z (отменить) поместить комментарии в положение, которое они имели до выравнивания. Чтобы отменить действие пользователя, требуется другой CTRL-Z. Как я уже сказал, это не решение, в любом случае это самый быстрый способ сохранить код так, как мы хотим. Надеюсь, что MS будет иметь возможность отключить выравнивание комментариев.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .