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

Как закомментировать группу строк в с шарп

  • автор:

Комментарии в Visual Studio для Mac

Visual Studio для Mac планируется выйти на пенсию 31 августа 2024 года в соответствии с современной политикой жизненного цикла Майкрософт. Хотя вы можете продолжать работать с Visual Studio для Mac, есть несколько других вариантов для разработчиков на Mac, таких как предварительная версия нового расширения комплекта разработки C# для VS Code.

При отладке кода или экспериментировании с ним может потребоваться комментировать блоки кода как временно, так и в долгосрочной перспективе.

Чтобы оставить комментарий к целому блоку кода, сделайте следующее:

  • Выделите код и выберите пункт Закомментировать или раскомментировать строку в контекстном меню
  • Используйте настраиваемое сочетание клавиш cmd + / для выделенного кода.

Эти методы позволяют закомментировать или раскомментировать разделы кода.

В файлах C# можно добавить дополнительные уровни комментариев для строк, что позволяет закомментировать или раскомментировать области кода, сохранив фактические комментарии:

multi-level comments

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

C#

/* This is a multi-line comment in C# */ 

F#

(* This is a multi-line comment in F# *) 

См. также

Visual Studio Hotkeys

Многие из нас пользуются всевозможными плагинами, расширениями для Visual Studio. Стоит заметить что многие из них довольно удобны. А вкупе с code snippets значительно ускоряют работу. Тем кто ещё не знаком с такими «плюшками» настоятельно порекомендую попробовать и использовать.

Что касается меня, я пользовался Visual Assist, позже попытался использовать R#. Но если от первого я отказался когда перестал программировать на С++, то второй «убивал» напрочь мой компьютер, если я пытался открыть больше 2х студий. Не смотря на то, что сейчас и компьютер помощнее и R# несомненно улучшили, я не использую его. Связано это с тем, что я нашёл тогда возможность «вздохнуть» более свободно, используя «горячие клавиши».

Здесь я опишу тех хоткеи, которые использую и считаю удобными и необходимыми для запоминания.

Схемы разработки

Прежде всего, хочу обратить ваше внимание что в Visual Studio есть несколько схем для разработчиков, переключить которые вы можете через меню, как показано ниже:

Так же в этом меню, вы можете добавить или удалить хоткеи «заточив» ещё больше под себя. Настройка довольно проста. Описанные примеры я буду рассматривать для схемы Visual C# 2005.

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

Есть несколько комбинаций клавиш, для создания комментирования:
Ctrl+E,C — закоментировать выбранные линии в коде.
Ctrl+E,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 — собрать активный проект.
Если появились ошибки, это плохо, но никто от них не застрахован:
F5 — запустить программу, с возможностью отладки. Или продолжить выполнение программы, после точки останова.
Ctrl+F5 — запустить программу без отладки
F9 — поставить/убрать точку останова — breakpoint
Ctrl+Shift+F9 — удалить все точки останова.
F10 — выполнить код, без захода внутрь
F11 — выполнить код, с заходом внутрь

В режиме отладки есть два типа просмотра — Watch и QuickWatch. Разница между ними выходит за рамки данного топика :). Однако, вызвать QuickWatch вы можете нажав Ctrl+D, Q. Просто WatchCtrl+D, W.

PS: если кому-то оказалось «мало», то можно получить информацию в блоге Сары Форд, те кто не очень дружит с английским, есть возможность почитать переводы, которые появляются очень регулярно.

  • February 2014 (1)
  • January 2014 (1)
  • March 2013 (2)
  • February 2013 (2)
  • November 2012 (1)
  • October 2012 (2)
  • July 2012 (3)
  • May 2012 (2)
  • January 2012 (4)
  • December 2011 (3)
  • November 2011 (14)
  • October 2011 (1)

C Sharp/Синтаксис

Синтаксис C# очень похож на синтаксис Java, так как они оба наследуют синтаксис C и C++.

Операторы [ править ]

Комментарии [ править ]

Комментарии позволяют не только временно исключать часть кода, но и писать комментарии к функциям, классам, и т.п. прямо в коде. На этапе компиляции все комментарии игнорируются, поэтому можно не беспокоится об увеличении размера или каком-либо воздействии на конечный файл, так как туда они не попадут.

Однострочные комментарии «//» Эта последовательность символов, маркирует весь последующий код в строке как комментарий. Многострочные комментарии При помощи них можно закомментировать любой отрезок кода. Такие комментарии начинаются с «/*» и заканчиваются «*/». Весь текст между ними, независимо от того, находится он на одной строке или нескольких, будет закомментирован.

//Это комментарий, который действует лишь до конца строки. using System; //Как видно, предыдущий комментарий не распространяется на строку ниже. /* А здесь мы можем закомментировать так много строк, как захотим */ 

Комментарии XML документации Эти комментарии используются для документации кода. Так например, прокомментировав класс, при обращении к нему Visual Studio покажет нам наш комментарий, либо, после того как мы закончим программу, будет возможно автоматически сгенерировать документацию. В данном случае возможно использование как однострочных, так и многострочных комментариев. Комментарии XML похожи на обычные, за исключением того что комментарий начинается с последовательности: «///», а многострочные начинаются с «/**», потом каждая следующая строка отделяется при помощи символа «*», и наконец последняя помечается «*/». Например:

/// Документация  /// /// Это однострочный комментарий ///  /** * Документация  * * А это * многострочный *  */ 

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

Чувствительность к регистру [ править ]

C# чувствителен к регистру символов, включая имена переменных и методов. Например:

int myInteger = 3; int MyInteger = 5;

Переменные myInteger и MyInteger отличаются по причине чувствительности к регистру C#.

Например, в C# существует класс Console при помощи которого совершается большинство операций с окном консоли. Если мы попытаемся выполнить код, указанный ниже, то в итоге компилятор будет выдавать ошибку до тех пор, пока мы не объявим console .

// Ошибка компиляции! console.writeline("Hello"); 

А в данном случае программа будет скомпилирована успешно, так как используем правильный регистр:

Console.WriteLine("Hello"); 

ITExplain

Please read How to support Ukraine if you haven’t done it yet!

Advertisements

Recent Posts

  • Error loading shared library libresolv.so.2: No such file or directory
  • Windows Server – A service installation section in this INF is invalid
  • How to clone git without/ignore lfs files
  • ImportError: no module named ‘ssd1306’ in micropython
  • Fuse mount in docker or docker-compose

Recent Comments

Archives

Categories

Meta

Visual Studio: Как закомментировать блок

Spread the love

Чтобы закомментировать несколько строк или блок используйте комбинацию клавиш:

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

Leave a Reply Cancel reply

You must be logged in to post a comment.

Proudly powered by WordPress. Theme: Flat 1.7.11 by Themeisle.

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.

Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.

Always Enabled

Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.

Cookie Duration Description
cookielawinfo-checkbox-analytics 11 months This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category «Analytics».
cookielawinfo-checkbox-functional 11 months The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category «Functional».
cookielawinfo-checkbox-necessary 11 months This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category «Necessary».
cookielawinfo-checkbox-others 11 months This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category «Other.
cookielawinfo-checkbox-performance 11 months This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category «Performance».
viewed_cookie_policy 11 months The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.

Functional

Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.

Performance

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.

Advertisement

Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.

Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.

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

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