Содержание
Че так долго = P.S. Словом, разлил газировку на ноут, был в депрессии, ай пофиг, начали.
1.C чего начать
Для работы с текстом вам нужен текстовый редактор (World), для обработки фотографий вам нужен графический редактор (Photoshop), для программирования требуется IDE(интегрированная среда разработки).
IDE – это комплекс программных средств для разработки ПО, такие как
a.Текстовой редактор (Ну это просто, это там, где мы пишем код)
b.Компилятор/интерпретатор (переводит наш код в машинный код, способный к выполнению процессором)
c.Средства автоматизации сборки (Помогает собрать наш проект. К примеру, в исполняемый .exe файл)
d.Отладчик/Debugger (Можно ставить всякие точки остановки (breakpoint и watch) чтобы отслеживать, что выполняет код на данной строчке кода)
Под C# основной IDE является Visual Studio (Community является бесплатной, и в принципе там есть практически всё). Но(!) в наших уроках мы будем писать в Visual Studio Code (редактор кода).
Итак, определились. Скачиваем Visual Studio Code (https://code.visualstudio.com/)
Нажимаем на нужную кнопку “Windows” и скачиваем установщик. Там всё стандартно, ставим галочку В«Добавить в PathВ».
А затем скачиваем .NET Core SDK (https://dotnet.microsoft.com/download). Просто ждем установки, после установки вроде потребуется перезагрузить ПК, я уже не помню.
Далее запускаем VSCode, переходим на вкладку Extension и устанавливаем расширение для VSCode ->C#. Для этого нужно в поиске расширений просто написать C#
Далее создаем какую-нибудь папку, где у нас будет проект, и открываем эту папку в VSCode File->Open Folder…
Далее нам нужно создать консольное приложение на языке C#. Переходим по этой ссылке, https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-ne…, и находим среди всех команд ту что нужно.
Далее в VSCode выбираем меню Terminal->New Terminal и пишем туда команду
dotnet new console
Ждем и затем пишем
dotnet restore
чтобы скачались нужные компоненты (требуется один раз). Далее пишем
dotnet run
и в терминале происходит запуск нашей программы. Выглядит не Айс, поэтому идет до конца.
Запускаем нашу программу Debug-Start Debugging. Выбираем (.NET Core), чем будем компилировать наш код и открывается окно настройки.
В данном окне настройки поменяем строку
«console»: «internalConsole»,
на
«console»: «externalTerminal»,
Затем добавляем в наш код следующий код Console.ReadLine(); и вновь запустим Debug-Start Debugging. Мы должны увидеть следующее
Конечно, это не конечный вариант, конечный вариант будет в виде видеоурока на youtube (писать что и как устанавливать, это конечно же жесть) https://www.youtube.com/channel/UCxHlqdzYPZCKHTDWFZ895Qg?vie…. Спасибо за внимание.
12
- Tutorial
Давайте начистоту, мало кто использует отладчик GDB на Linux в консольном варианте. Но что, если добавить в него красивый интерфейс? Под катом вы найдёте пошаговую инструкцию отладки кода С/С++ на Linux в Visual Studio Code. Передаю слово автору. Относительно недавно я переехал на Linux. Разрабатывать на Windows, конечно, удобнее и приятнее, но и здесь я нашел эффективный способ легко и быстро отлаживать код на С/С++, не прибегая к таким методам как «printf-стайл отладки» и так далее. Итак приступим. Писать в sublime
(или gedit/kate/emacs
), а запускать в терминале — так себе решение, ошибку при работе с динамическим распределением памяти вряд ли найдёшь с первого раза. А если проект трудоёмкий? У меня есть более удобное решение. Да и ещё поддержка Git в редакторе, одни плюсы. Сегодня мы поговорим про Visual Studio Code.
Установка
Ubuntu/Debian
- Качаем версию пакета VS Code с расширением .deb
- Переходим в папку, куда скачался пакет (cd ~/Загрузки или cd ~/Downloads)
- Пишем, где (имя пакета).deb — название файла, который вы только что скачали:
sudo dpkg -i (имя пакета).deb sudo apt-get install -f
OpenSUSE/SLE Based distrs
- Установим репозиторий:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[code]nname=Visual Studio Codenbaseurl=https://packages.microsoft.com/yumrepos/vscodenenabled=1ntype=rpm-mdngpgcheck=1ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/zypp/repos.d/VScode.repo'
- Обновим пакеты и установим VS Code:
sudo zypper refresh sudo zypper install code
Расширения для С/С++
Чтобы VS Code полностью сопровождал нас при работе с файлами С/С++, нужно установить расширение «cpptools». Также полезным будет поставить один из наборов сниппетов. Настоятельно рекомендую включить автосохранение редактируемых файлов, это поможет нам в дальнейшем. Идём дальше. Открываем любую папку (новую или нет, неважно). У меня в этой папке уже есть пара файлов для работы с C/C++. Вы можете скопировать одну из своих наработок сюда или создать новый файл. Осталось всего ничего. Настроить компиляцию в одну клавишу и научиться отлаживать без printf
.Шаг 1. Открываем файл .c/.cpp, который (обязательно) лежит в вашей папке.Шаг 2. Нажимаем Ctrl+Shift+B. VS Code вам мягко намекнет, что он не знает как собирать ваш проект.Шаг 3. Поэтому дальше настраиваем задачу сборки: выбираем «Настроить задачу сборки» -> «Others».Шаг 4. Прописываем конфигурацию в соответствии с образцом. По сути мы пишем скрипт для консоли, так что всем кто имел дело с ней будет понятно дальнейшее. Прошу заметить, что для сборки исходников в системе должен стоять сам компилятор (gcc или другой, отличаться будет только значение поля command
). Поэтому для компиляции .cpp, понадобится в поле command
указать g++
или c++
, а для .c gcc
.Шаг 5. В args
прописываем аргументы, которые будут переданы на вход вашему компилятору. Напоминаю, что порядок должен быть примерно таким: -g, <имя файла>
. Внимание: Если в вашей программе используется несколько файлов с исходным кодом, то укажите их в разных аргументах через запятую. Также обязательным является ключ -g
(а лучше даже -g3
). Иначе вы не сможете отладить программу. Если в проекте для сборки вы используете makefile
, то в поле command
введите make
, а в качестве аргумента передайте директиву для сборки.Шаг 6. Далее возвращаемся обратно к нашему исходнику. И нажимаем F5 и выбираем C++.Шаг 7. Осталось только написать путь к файлу программы. По умолчанию это ${workspaceRoot}/a.out
, но я в своем файле сборки указал флаг -o
и переименовал файл скомпилированной программы, поэтому у меня путь до программы: ${workspaceRoot}/main
.Шаг 8. Всё, больше нам не нужно ничего для начала использования всех благ VS Code. Переходим к основному проекту.
Отладка
Для начала скомпилируем программу (нет, нет, убери терминал, теперь это делается по нажатию Ctrl+Shift+B). Как вы видите в проводнике появился main
, значит все в порядке и сборка прошла без ошибок. У меня не слишком большая программа, но выполняется она моментально. Одним словом, провал чистой воды, потому что отладка идет в отдельном терминале, который закрывается после того, как программа дошла в main() до "return 0;"
. Пришло время для брейкпоинтов. Выберем строчку с "return 0;"
и нажимаем F9. Строчка, помеченная красной точкой слева — место, где остановится программа, при выполнении. Далее нажимаем F5. Как я и сказал, программа остановила выполнение. Обратите внимание на окно с локальными переменными. Удобненько. Также при остановке можно наводить мышкой на переменные и структуры в коде и смотреть их значения. Также, если на каком-то этапе выполнения вам нужно посмотреть пошаговое выполнение той или иной операции, например в цикле, то поставьте брейкпоинт перед ней и нажмите F10 для выполнения текущей строчки без захода в подпрограмму и F11 с заходом. Также есть случаи, когда считать выражение очень муторно вручную, но для отладки вам нужно знать, например, значение суммы трех элементов массива, или значение большого логического выражения. Для этого существуют контрольные значения. Все это и многое другое могут показать вам Контрольные значения (или «watch»).Важно:
- Для каждой папки вам нужно отдельно настроить файлы сборки и путь к программе.
- VS Code не решит ваших проблем, но поможет быстрее с ними разобраться. Причем в разы.
- После каждого изменения программы, ее нужно компилировать заново, нажимая Ctrl+Shift+B.
Полезные шорткаты можно посмотреть здесь.
Об авторе
Максимилиан Спиридонов — разработчик C#, студент МАИ, Microsoft Student Partner. В профессиональную разработку на .NET пришёл ещё в школе. Около года работал с реальными проектами на WPF(MVVM)+C#, MySQL, более 4-х лет разрабатывал на C#. Основная сфера интересов сейчас — это мобильная разработка на Xamarin. Также, по воле случая в сфере интересов оказались С/С++ и Linux.Используемые источники:
- story/c_urok_1_ustanovka_visual_studio_code_6987987
- https://habr.com/p/333680/