Visual studio как поставить символ

Обновлено: 05.07.2024

Сюда буду добавлять горячие клавиши в 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 — использовать сниппет в коде.

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

Если обратите внимание то студия, по своей природе 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.

Можно ли отображать символы пробела, такие как пробел, в Visual Studio Code?

Похоже, что для него нет опции в settings.json (хотя это опция в Atom.io ), и мне не удалось отобразить пробельные символы с помощью CSS .

VS Code 1.6.0 и более поздних версий

Как упоминалось aloisdg ниже, editor.renderWhitespace теперь является перечислением, принимающим либо none , > или all . Чтобы просмотреть все пробелы:

До VS Code 1.6.0

До 1.6.0 вы должны были установить editor.renderWhitespace на true :

Он находится в разделе Просмотр -> Визуализировать пробелы .

⚠️ Иногда пункт меню показывает, что он активен в данный момент, но вы не видите пробелов. Вы должны снять и снова установить флажок , чтобы он заработал. Это известная ошибка 🐞

Замечание о macOS 

В среде Mac вы можете найти любой пункт меню в меню Справка , тогда он откроет именно тот путь меню, который вы ищете. Например, поиск по запросу белое пространство приведет к следующему:

Demo

Я использую vscode версии 1.22.2, так что это может быть функция, которой еще не было в 2015 году.

Параметр, позволяющий сделать пробелы видимыми, теперь отображается как параметр в меню «Просмотр», как «Переключить отображение пробелов» в версии 1.15.1 Visual Studio Code.

Чтобы различие отображало пробелы аналогично git diff , установите для diffEditor.ignoreTrimWhitespace значение false. edit.renderWhitespace только незначительно полезен.

Чтобы обновить настройки, перейдите в

Файл> Настройки> Настройки пользователя

Примечание для пользователей Mac: меню «Настройки» находится в разделе «Код, а не файл». Для например, Код> Настройки> Настройки пользователя.

Откроется файл с названием «Настройки по умолчанию». Разверните область //Editor . Теперь вы можете увидеть, где находятся все эти загадочные настройки editor.* . Найдите (CTRL + F) renderWhitespace . На моем ящике есть:

Кроме того, левое окно «Настройки по умолчанию» не редактируется. Их необходимо переопределить в правом окне под названием «settings.json». Вы можете скопировать настройки вставки из «Default Settings» в «settings.json»:

В итоге я выключил renderWhitespace .

Откройте настройки пользователя. Сочетание клавиш: CTR + SHIFT + P -> Настройки: открыть настройки пользователя;

Вставьте в поле поиска Пробел и выберите параметр все .

Это больше не boolean . Они перешли на enum . Теперь мы можем выбирать между: none , boundary и all .

Вы можете увидеть исходное различие в

"editor.renderWhitespace": "trailing" // добавляемая опция

В v1.43 значение по умолчанию будет изменено на selection с none , как это было в v1.42.

Обновление для v1.37: добавлена ​​возможность отображать пробелы только в выделенном тексте. См. выпуск v1.37 заметки, отображать пробелы.

Параметр editor.renderWhitespace теперь поддерживает параметр selection . Если этот параметр установлен, пробелы будут отображаться только в выделенном тексте:

demo of whitespace render in selection

Чтобы продемонстрировать изменения, которые editor.renderWhitespace : none||boundary||all внесет в ваш VSCode, я добавил этот снимок экрана:
.

Где Tab - → , а Space - .

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

В последних версиях Visual Studio Code теперь есть удобный графический интерфейс (т.е. нет необходимости вводить данные JSON и т. Д.) Для просмотра и редактирования всех доступных сочетаний клавиш. Это все еще под

Файл> Настройки> Сочетания клавиш (или используйте Ctrl + K Ctrl + S )

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

enter image description here


Переключение пробелов не имеет привязки клавиш по умолчанию , поэтому вы можете добавить ее. Просто нажмите значок + слева от соответствующей строки (или нажмите Enter , или дважды щелкните в любом месте этой строки) и введите желаемую комбинацию во всплывающем окне. окно.

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

enter image description here

Как видите, все очень интуитивно понятно и удобно.
Молодец, Microsoft!

Для тех, кто хочет переключать символы пробела с помощью сочетания клавиш , вы можете добавить настраиваемую привязку к файлу keybindings.json ( Файл> Настройки> Сочетания клавиш ).

Здесь я назначил комбинацию Ctrl + Shift + i для переключения невидимых символов, вы, конечно, можете выбрать другую комбинацию.

Это также можно сделать через главное меню View -> Render Whitespace

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

Показывать пробельные символы в Visual Studio Code

Измените setting.json, добавив следующие коды!

вот так!
(PS: нет опции "true" !, даже если она работает.)

Горячие клавиши — добро, польза и экономия времени. Давайте разберёмся, как с их помощью чуть упростить себе жизнь в Visual Studio Code.

Быстро добавить комментарий

Обычно чтобы добавить комментарий, нужно перейти в начало строки и дописать туда два слеша. Это медленно. Быстрее нажать в любом месте строки Ctrl + /, и строка закомментируется, если она ещё не. А если уже да, то комментарий исчезнет.

Перейти к строке под номером

Windows — Ctrl + G

Иногда отладчики внезапно сообщают, что на строке 953 случилась непоправимая инфернальная ошибка вселенной. Чтобы не выискивать вручную, не листать и не тратить на это время, нажмите Ctrl + G, введите номер строки и спокойно спасайте вселенную.

Поменять строку местами с соседними

Alt и стрелки меняют текущую строку местами с соседними.

Дублировать строку

Windows — Shift + Alt + ↓ / ↑

Это для тех, кто не хочет копировать и вставлять несколько раз одно и то же.

Перейти к парной скобке

Windows — Ctrl + Shift + \

Когда кода становится много, очень просто запутаться в закрывающих и открывающих скобках, непонятно, где какой блок, и вообще, что происходит. На помощь приходит Ctrl+Shift+\ — это хорошее дополнение к стандартной подсветке парных скобок в VS Code.

Переименовать переменную

Писали, писали, а старший разработчик пришёл и сказал, что ваши переменные a , b и c — дурной тон. Чтобы не выискивать их по всему документу и не менять руками, есть F2.

Отформатировать документ

Windows — Shift + Alt + F

VS Code предложить установить расширение или выбрать из существующих, а потом красиво отформатирует документ — расставит по местам блоки, скобки, и сделает строки кода читаемыми.

Перейти к объявлению переменной

Иногда вообще непонятно, откуда взялась переменная, какая у неё область видимости, и где она объявлена. F12 перенесёт нас к объявлению выделенной переменной, функции или метода. Если объявление в другом файле — всё равно перенесёт.

Включить/выключить перенос слов

Windows — Alt + Z

Вкусовщина. Если строки кода или текст не вмещается в редактор по ширине, включите перенос.

Режим переноса слов

Включить дзен-режим

Windows — Ctrl + K Z

Лучшее решение для тех, кто входит состояние потока, когда пишет код. Дзен-режим скрывает все панели, разворачивает редактор на весь экран, и вы можете плыть в волнах кода и думать только о нём. Чтобы вернуться обратно в реальный мир, нажмите Escape.

Полноэкранный режим

На интерактивных курсах все клавиши станут горячими

Потому что оторваться вообще не получается. 11 глав бесплатно, и −30% на подписку в первую неделю обучения.

Скачал библиотеку. С ней вместе шел pdb файл. Создаю в VS проект, подключаю эту библиотеку, пробую запустить - вроде работает. Хочу зайти и посмотреть код функции, которая вызывается из dll. На строке с вызовом функции жму Ф11 и в VS открывается страничка, в которой написано, что файл ххх.cs не найден. Файла на самом деле нету, но я думал, что наличие pdb файла решит эту проблему и я смогу посмотреть исходный код. Файл pdb лежит в каталоге с библиотекой.

Я ошибался или просто что-то не так делаю?

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Зачем для создания формы на Angular использовать Visual Studio и Visual Studio Code?
Мне нужно написать форму на ангуляре, которая будет выполнять Select, Insert,Delete из базы данных.

Как использовать классы dll в Visual C++
Если есть dll, созданная скажем в VB и содержащая класс(форма), то как использовать этот класс в.

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

OwenGlendower, вот оно как. Я много (ну может не очень много) где читал, мол можно скачать отладочные символы для библиотек Виндовса с сервера Майкрософта. И я почему-то думал, что это делается для того, чтобы можно было увидеть код библиотеки. Получается, что нет. А для чего они тогда нужны?

PDB файл сам по себе дает возможность получить больше информации при возникновении исключения.

Вы бы не могли рассказать как?

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

V0fka, для начала следует помнить что мы можем иметь дело с управляемым и неуправляемым кодом. Windows написана на ASM/C/C++. Соответственно её DLL состоят из неуправляемого кода. В случае ошибки исполнения мы будем знать адрес в памяти где это произошло + стек вызовов (набор адреса). Это крайне скудная информация. Дополнительные проблемы создают оптимизации которые прозводят компилятор и компоновщик. Для нормальной отладки необходимо сопоставить адреса с именами функций и исходным кодом. И здесь нам на помощь и приходят PDB файлы. Если скачать PDB файлы для Windows, то например Process Explorer будет показывать в стеке вызовов потока названия функций вместо адресов. Также их можно будет использовать при отладке crash дампов.

В случае с управляемым кодом информацию о названиях функций можно получить и без PDB файлов т.к. необходимая информация уже есть в метаданных сборки. Для нормальной отладки этого недостаточно т.к. необходимо знать место в исходном коде где было сгенерировано исключение и PDB файлы снова приходят на выручку.

зачем нужны отладочные символы без исходного кода (и нужны ли)?

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

Решил поэкспериментировать. Сделал тестовый проект на WPF, где по нажатию на кнопку выбрасывается исключение:

Собрал ехе-щник в конфигурации Debug, в выходном каталоге получился ряд файлов. Беру оттуда сам ехе-шник и pdb файл, перемещаю их в отдельный каталог. ОС Windows 8. Запускаю программу, жму кнопку - программа закрывается и выдается окошко с 2 кнопками: отладить и закрыть программу:

Если жму отладить, у меня открывается VS и курсор позиционируется на строку, в которой происходит выброс этого исключения. Если я исходники удаляю (переименовываю папку с решением), то у меня почему-то в VS открываются другие исходники вообще из другого решения. Из этого я сделал вывод, что в pdb хранится информация (не только эта, а в том числе эта) с конкретным местоположением файлов исходного кода на компе и, как вы писали ранее, информация о том как этот исходный код связан с ехе-шником.

Но, я ж хочу свою программу кому-то отдать. Но там ведь не будет исходников, причем ещё по точно такому же пути, как у меня на компе. Эмулирую такую ситуацию. Перемещаю ехе-ник и pdb файл в каталог на другой комп (с Windows Server 2012, так для информации). Жму кнопку. Выскакивает окошко, которое предлагает уже 3 действия, а так же предлагает "Показать подробности проблемы" (а в предыдущем случае, не предлагало, кстати):

В "подробностях проблемы" я вижу, что это было NullReferenceException, но не в какой функции, не стека вызовов я не вижу. Собственно, у меня снова возникает вопрос: чем мне в этой ситуации может помочь pdb файл?

А чем отличаются pdb файлы для управляемого и не управляемого кода? Почему в случае с не управляемым кодом их отдавать нельзя (не нужно)?

Читайте также: