Перейти к содержимому

Как в с закомментировать сразу несколько строк

  • автор:

How to comment multiple lines with space or indent

In Visual Studio 2010, I have multiple lines of text to be commented:

Using CTRL + E + C to comment out multiple lines, I get

I would like to have a space (or indent) between // and A, hence // A instead of //A .

However, after I group tab a block of text and indent it, CTRL + E + C no longer comments out the selected text.

How to group comment and get the following:

KMC's user avatar

5 Answers 5

Pressing Ctrl + K + C or Ctrl + E + C After selecting the lines you want to comment will not give space after slashes. you can use multiline select to provide space as suggested by Habib

Perhaps, you can use /* before the lines you want to comment and after */ in that case you might not need to provide spaces.

Jhankar Mahbub's user avatar

One way to do it would be:

  1. Select the text, Press CTRL + K , C to comment ( CTRL + E + C )
  2. Move the cursor to the first line after the delimiter // and before the Code text.
  3. Press Alt + Shift and use arrow keys to make selection. (Remember to make line selection(using down, up arrow keys), not the text selection — See Box Selection and Multi line editing)
  4. Once the selection is done, press space bar to enter a single space.

Notice the vertical blue line in the below image( that will appear once the selection is made, then you can insert any number of characters in between them)

enter image description here

I couldn’t find a direct way to do that. The interesting thing is that it is mentioned in the C# Coding Conventions (C# Programming Guide) under Commenting Conventions.

Insert one space between the comment delimiter (//) and the comment text

But the default implementation of commenting in visual studio doesn’t insert any space

C Урок 3. Комментарии

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

И тут нам на помощь приходят комментарии. Они позволяют нам в любом месте исходного кода нашей программы писать какие-либо подсказки о нашем коде для того, чтобы мы в будущем, когда код достигнет внушительных размеров, могли понять для чего мы это писали и что в данном месте вообще делается.

Также комментарии помогают нам участок кода, который мы не хотим, чтобы выполнялся программой, но, возможно, в дальнейшем он нам пригодится, спрятать от компилятора, но пока не удалять. Мы данный участок кода превращаем в комментарий и он, хоть и не будет удалён из файла с исходным кодом, выполняться не будет.

Вот зачем нам нужны комментарии.

Теперь, собственно, давайте разберёмся, как их вообще писать в коде и как заставить компилятор их не выполнять.

Если мы хотим написать комментарий в одной строке (либо в конце строки), то мы используем для этого знак « // » (двойная косая черта, кавычки не входят). Данный знак мы ставим перед текстом с комментарием. То есть, всё то, что в данной строке находится после данного знака, будет считаться комментарием и интерпретироваться компилятором не будет, следовательно и выполняться затем тоже.

Конечно же мы можем наши комментарии написать и в несколько строк, используя тот же знак двух косых чёрточек, только мы будем вынуждены данный знак ставить вначале каждой из этих строк. Хорошо, когда таких строк немного, а вот если их, например, 50, или даже 100, то для этого есть другой способ.

Если мы хотим написать комментарий из нескольких строк либо «закомментировать», чтобы впоследствии не выполнять какой-то участок кода, то мы используем два символа: « /* » и « */ «. Первый из этих символов (косая черта и звёздочка) используется вначале комментария, а вторая (звёздочка и косая черта) — в его конце. Мы также можем такие символы использовать и в одной строке, например, если мы хотим закомментировать её участок где-то в начале или в середине.

Есть ещё один способ добавлять комментарий. Он также очень интересен и не всегда документирован, так как он никак не подсвечивается с помощью подсветки синтаксиса (комментарии, добавленные с помощью предыдущих двух способов как правило подсвечиваются зелёным цветом), да и, по большому счёту он и комментарием-то не является, но работает так же как и обычные комментарии. Данный способ применяется в случае также комментирования нескольких строк. Перед первой комментируемой строкой мы пишем строку с директивой « #if 0 «. Это условная директива, с такими директивами препроцессора мы будем знакомиться позже, поэтому я лишь скажу, что это условие, в тело которого мы никогда не попадём, так как оно никогда не может быть истинным. Поэтому после этой директивы дальнейший код не будет выполняться. А после последней строки, которую мы хотим комментировать, мы пишем строку с директивой « #endif «, которая будет означать окончание нашего условия. Поэтому весь тот код, который будет расположен между данными директивами, выполняться никогда не будет и, следовательно, также будет являться комментарием.

Когда именно нам может пригодиться третий способ и почему нельзя использовать второй? А потому, что порой ,причем зачастую, случаются такие ситуации, когда уже присутствуют многострочные комментарии в участке кода, который мы хотим закомментировать, То второй способ уже не сработает. Мало того, он закончится ошибкой использования некорректных символов. В этом случае нам на помощь и придёт третий способ.

Но а чтобы нам не путаться , что, где и как используется и как это работает, предлагаю всё это проделать на практике. Для этого мы создадим новую папку с именем, например, MYPROG03 и скопируем в неё содержимое нашего прежнего проекта (файл main.c и два cmd-файла). В файле build.cmd myprog02 заменим на myprog03 вот здесь

Откроем файл main.c и напишем наш первый комментарий вначале тела функции main(), тем самым обеспечив себе в будущем напоминание о том, что у нас здесь делается (да и не только себе, вдруг мы захотим поделиться своим творением с кем-то, он тем более может не понять нашего кода, не он же его писал)

Горячие клавиши в Visual Studio

Сюда буду добавлять горячие клавиши в Visual Studio, способы быстрого ввода и прочие фишки, позволяющие кодить более комфортно.

Начнем с самого простого, что бывает нужно начинающему программисту:
cw + 2 раза Tab = Console.WriteLine();

Далее материалы статьи с Хабра, где-то с моими дополнениями, но в основном в чистом виде:

Комментирование

Ctrl+K,C — закомментировать выбранные линии в коде.
Ctrl+K,U — раскомментировать выбранные линии в коде.

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

Поиск

Ctrl+F — открывается стандартное окно поиска, если в буфер недавно было скопирован текст, то он автоматически подставиться.
Ctrl+F3 — поиск «активного» текста вниз (который выделен или слово на котором стоит курсор), без копирования в буфер обмена.
Ctrl+Shift+F3 — поиск «активного» текста вверх.
Ctrl+I — и начинаете печатать текст, этакий runtime поиск.

Вызов базового джина

Вам лень писать текст полностью?! Скорость выпадающего Intellisence не устраивает несущуюся впереди вас вашу мысль?!
Тогда самое время применить следующии комбинации:
Ctrl+Space — вызов Intellisence с показом «слов»
Ctrl+J — если вы подзабыли название метода класса или его свойсто, то эта комбинация вам поможет. Можно применять и предыдущую, но эта более «умная».
Ctrl+K, X — показ всех сниппетов, которые у вас есть, в виде выпадающего списка, использование интуитивно понятно ��
короткое_имя_снипета+Tab — использовать сниппет в коде.

Навигация по коду

Тут стоит сказать отдельно и довольно много, навигация очень удобная, особенно когда привыкаешь ��
F12 — перейти к определению/объявлению класса/метода/свойства. Очень применимо если вам вдруг стало интересно, а реализуется ли этой переменной, этого класса тип интерфейс IDisposable; или вы ищите в коде, «а где же объявляется эта переменная».
Ctrl+G — перейти на определённый номер строки в коде. (Отображение номеров строк можно включить: Text Editor -> Интересующий вас язык -> Display -> Line numbers — выставить галку). Иногда довольно удобно, особенно если получаете описание необработанного исключения, а там указан, как правило, номер строки.
Ctrl+] — когда курсор установлен на скобку, многострочный комментарий (/* */), регион (#region), строку, обрамлённую кавычками, эта комбинация позволит вам увидеть начало и окончание этих «блоков», перемещая курсор между ними.
Ctrl+M, M — я человек довольно ленивый и мне сложно заставить долго тыкать мышкой по ±, сворачиваю и разворачия «блоки», поэтому рекомендую данную комбинацию
Ctr+M, O — комбинация аналогичная предыдущей, только сворачивает все блоки
Ctrl+- — переход к предыдущему активному тексту (тому который вы редактировали)
Ctrl+Shift+- — переход к следующему активному тексту, если он конечно есть ��

Если обратите внимание то студия, по своей природе MDI, значит должна быть возможность перемещаться, между окнами:
Ctrl+Tab — аналог Alt+Tab в Windows, только применимо к студии.

Очень удобным инструментом в студии являются закладки, да-да, по аналогии с книжными. Можно отметить код чтобы потом перейти к нему:
Ctrl+B, T — поставить/снять закладку.
Ctrl+B, Ctrl+C — удалить все закладки.
Ctrl+B, N — перейти к следующей закладке.
Ctrl+B, P — перейти к предыдущей закладке.

Форматирование и редактирование

Многие знают и используют Ctrl+C и Ctrl+V, но студия обладает ещё рядом удобным комбинаций:
Ctrl+Shift+V — не отпуская Ctrl+Shift и нажимая на V, вы сможете вставить один из 10 последних кусков текста, скопированных в буфер обмена.
Tab — увеличить отступ.
Shift+Tab — уменьшить отступ.

Мне иногда не хватало вертикального выделения текста, бывает полезно. Оказывается и такая возможность есть! Стоит нажать Alt, и не отпуская, выделять мышкой текст. Но есть минус — меню и стрелочки клавиатуры :). Это решаемо, нажимаете Shift+Alt и используете стрелочки Left или Right

Если код доставшийся вам «грязен», не только по структуре, но и по внешнему оформлению, используйте:
Ctrl+E+D — форматирование всего документа, позволяет привести документ в более удобоваримый вид.
Ctrl+E+F — форматирование выбранной части текста

Иногда в целях рефакторинга или ещё каких-то благих начинаниях, есть смысл перевести все буквы в верхний или нижний регистр:
Ctrl+Shift+U — перевести выделенный блок в верхний регистр
Ctrl+U — перевести выделенный блок в нижний регистр

Небольшой экскурс в сборку и отладку

Конечно же со стороны хоткеев ��
Начнём со «сборки»:
Ctrl+Shift+B или F6 — собрать solution.
Shift+F6 — собрать активный проект.
Если честно, тут я немного пошаманил, заточив под себя, иногда бывает удобно пересобрать проект RebuildSolution, но почему-то хоткей для этого не предусмотрен, я поступил следующий образом:
F6 — собрать solution
Ctrl+Shift+B — пересобрать solution
Поступил я так из-за соображения, что иногда студия не выполняет пересборку проекта, а пишет «up-to-date», а мне нужно именно пересобрать.

Если появились ошибки, это плохо, но никто от них не застрахован:
F5 — запустить программу, с возможностью отладки. Или продолжить выполнение программы, после точки останова.
Ctrl+F5 — запустить программу без отладки
F9 — поставить/убрать точку останова — breakpoint
Ctrl+Shift+F9 — удалить все точки останова.
F10 — выполнить код, без захода внутрь
F11 — выполнить код, с заходом внутрь

В режиме отладки есть два типа просмотра — Watch и QuickWatch.
Вызвать QuickWatch вы можете нажав Ctrl+D, Q. Просто Watch — Ctrl+D, W.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *