Руководство. Создание консольного приложения .NET с помощью Visual Studio Code
В этом учебнике показано, как создать и запустить консольное приложение .NET с помощью Visual Studio Code и .NET CLI. Задачи проекта, такие как создание, компиляция и запуск проекта, выполняются с помощью .NET CLI, поэтому вы можете следовать этому руководству, используя при желании другой редактор кода и выполняя команды в терминале.
Необходимые компоненты
- Установленная платформа Visual Studio Code с расширением C#. Если у вас установлено расширение комплекта разработки на C#, удалите или отключите его. Он не используется в этой серии учебников. См. сведения об установке расширений Visual Studio Code из Marketplace.
- Пакет SDK для .NET 8.
Создание приложения
Создайте проект консольного приложения .NET с именем HelloWorld.
- Запустите Visual Studio Code.
- В главном меню выберите Файл>Открыть папку (в macOS выберите File>Open. (Файл > Открыть)).
- В диалоговом окне Открыть папку создайте папку HelloWorld и выберите ее. Затем щелкните Выбрать папку (или Открыть в macOS). Имя папки по умолчанию преобразуется в имя проекта и имя пространства имен. Вы добавите код позже в этом учебнике. Предполагается, что пространство имен проекта — HelloWorld .
- В диалоговом окне о доверии авторам файлов в этой папке выберите Да, я доверяю авторам. Вы можете доверять авторам, так как эта папка содержит только файлы, созданные .NET и добавленные или измененные вами.
- Откройте терминал в Visual Studio Code, выбрав в основном меню пункт Вид>Терминал. Откроется окно Терминал с командной строкой в папке HelloWorld.
- В окне терминала введите следующую команду:
dotnet new console --framework net8.0 --use-program-main
Откройте файл Program.cs, чтобы увидеть простое приложение, созданное шаблоном:
namespace HelloWorld; class Program < static void Main(string[] args) < Console.WriteLine("Hello, World!"); >>
При первом открытии CS-файла Visual Studio Code предложит добавить ресурсы для сборки и отладки приложения. Выберите Да и Visual Studio Code создаст папку .vscode с файлами launch.json и tasks.json.
- В меню выберите «Выполнить команду «Добавить >конфигурацию».
- Выберите .NET 5+ и .NET Core в командной строке «Выбор среды «.
Код определяет класс Program с одним методом Main , который принимает массив String в качестве аргумента. Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args. Код в Main вызове Console.WriteLine(String) метода для отображения сообщения в окне консоли.
C# имеет функцию с именем операторов верхнего уровня, которая позволяет опустить Program класс и Main метод. В этом руководстве эта функция не используется. Независимо от того, используете ли вы его в программах, это вопрос предпочтения стиля. В команде dotnet new , созданной проектом, —use-program-main параметр не позволил использовать операторы верхнего уровня.
Выполнить приложение
Выполните следующие команды в окне терминала:
dotnet run
Программа отображает «Hello, World!» и заканчивается.
Улучшение приложения
Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.
- Откройте Program.cs.
- В Program.cs замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:
Console.WriteLine("What is your name?"); var name = Console.ReadLine(); var currentDate = DateTime.Now; Console.WriteLine($"Hello, , on at !"); Console.Write($"Press any key to exit. "); Console.ReadKey(true);
Важно! В Visual Studio Code необходимо явно сохранить изменения. В отличие от Visual Studio, изменения файлов не сохраняются автоматически при сборке и запуске приложения.
dotnet run

Дополнительные ресурсы
Следующие шаги
В этом учебнике показано, как создать консольное приложение .NET. В следующем учебнике описывается отладка приложения.
В этом учебнике показано, как создать и запустить консольное приложение .NET с помощью Visual Studio Code и .NET CLI. Задачи проекта, такие как создание, компиляция и запуск проекта, выполняются с помощью .NET CLI, поэтому вы можете следовать этому руководству, используя при желании другой редактор кода и выполняя команды в терминале.
Необходимые компоненты
- Установленная платформа Visual Studio Code с расширением C#. См. сведения об установке расширений Visual Studio Code из Marketplace.
- Пакет SDK для .NET 7.
Создание приложения
Создайте проект консольного приложения .NET с именем HelloWorld.
- Запустите Visual Studio Code.
- В главном меню выберите Файл>Открыть папку (в macOS выберите File>Open. (Файл > Открыть)).
- В диалоговом окне Открыть папку создайте папку HelloWorld и выберите ее. Затем щелкните Выбрать папку (или Открыть в macOS). Имя папки по умолчанию преобразуется в имя проекта и имя пространства имен. Вы добавите код позже в этом учебнике. Предполагается, что пространство имен проекта — HelloWorld .
- В диалоговом окне о доверии авторам файлов в этой папке выберите Да, я доверяю авторам. Вы можете доверять авторам, так как эта папка содержит только файлы, созданные .NET и добавленные или измененные вами.
- Откройте терминал в Visual Studio Code, выбрав в основном меню пункт Вид>Терминал. Откроется окно Терминал с командной строкой в папке HelloWorld.
- В окне терминала введите следующую команду:
dotnet new console --framework net7.0
Шаблон проекта создает простое приложение, отображающее «Hello, World» в окне консоли путем вызова Console.WriteLine(String) метода в Program.cs.
Console.WriteLine("Hello, World!");
namespace HelloWorld < class Program < static void Main(string[] args) < Console.WriteLine("Hello, World!"); >> >
При первом редактировании файла .cs в Visual Studio Code будет предложено добавить недостающие ресурсы для сборки и отладки приложения. Выберите Да и Visual Studio Code создаст папку .vscode с файлами launch.json и tasks.json.
- В меню выберите «Выполнить команду «Добавить >конфигурацию».
- Выберите .NET 5+ и .NET Core в командной строке «Выбор среды «.
Код определяет класс Program с одним методом Main , который принимает массив String в качестве аргумента. Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args.
В последней версии C# новая используются операторы верхнего уровня, которые позволяют игнорировать класс Program и метод Main . Большинство существующих программ на C# не используют операторы верхнего уровня, поэтому в этом руководстве эта новая функция не используется. Но она доступна в C# 10, и то, используете ли вы ее в своих программах, зависит от стилистических предпочтений.
Выполнить приложение
Выполните следующие команды в окне терминала:
dotnet run
Программа отображает «Hello, World!» и заканчивается.

Улучшение приложения
Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.
- Откройте Program.cs.
- В Program.cs замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:
Console.WriteLine("What is your name?"); var name = Console.ReadLine(); var currentDate = DateTime.Now; Console.WriteLine($"Hello, , on at !"); Console.Write($"Press any key to exit. "); Console.ReadKey(true);
Важно! В Visual Studio Code необходимо явно сохранить изменения. В отличие от Visual Studio, изменения файлов не сохраняются автоматически при сборке и запуске приложения.
dotnet run

Дополнительные ресурсы
Следующие шаги
В этом учебнике показано, как создать консольное приложение .NET. В следующем учебнике описывается отладка приложения.
В этом учебнике показано, как создать и запустить консольное приложение .NET с помощью Visual Studio Code и .NET CLI. Задачи проекта, такие как создание, компиляция и запуск проекта, выполняются с помощью .NET CLI, поэтому вы можете следовать этому руководству, используя при желании другой редактор кода и выполняя команды в терминале.
Необходимые компоненты
- Установленная платформа Visual Studio Code с расширением C#. См. сведения об установке расширений Visual Studio Code из Marketplace.
- Пакет SDK для .NET 6.
Создание приложения
Создайте проект консольного приложения .NET с именем HelloWorld.
- Запустите Visual Studio Code.
- В главном меню выберите Файл>Открыть папку (в macOS выберите File>Open. (Файл > Открыть)).
- В диалоговом окне Открыть папку создайте папку HelloWorld и выберите ее. Затем щелкните Выбрать папку (или Открыть в macOS). Имя папки по умолчанию преобразуется в имя проекта и имя пространства имен. Вы добавите код позже в этом учебнике. Предполагается, что пространство имен проекта — HelloWorld .
- В диалоговом окне о доверии авторам файлов в этой папке выберите Да, я доверяю авторам. Вы можете доверять авторам, так как эта папка содержит только файлы, созданные .NET и добавленные или измененные вами.
- Откройте терминал в Visual Studio Code, выбрав в основном меню пункт Вид>Терминал. Откроется окно Терминал с командной строкой в папке HelloWorld.
- В окне терминала введите следующую команду:
dotnet new console --framework net6.0 --use-program-main
Шаблон проекта создает простое приложение, отображающее «Hello, World» в окне консоли путем вызова Console.WriteLine(String) метода в Program.cs.
namespace HelloWorld; class Program < static void Main(string[] args) < Console.WriteLine("Hello, World!"); >>
При первом редактировании файла .cs в Visual Studio Code будет предложено добавить недостающие ресурсы для сборки и отладки приложения. Выберите Да и Visual Studio Code создаст папку .vscode с файлами launch.json и tasks.json.
- В меню выберите «Выполнить команду «Добавить >конфигурацию».
- Выберите .NET 5+ и .NET Core в командной строке «Выбор среды «.
Код определяет класс Program с одним методом Main , который принимает массив String в качестве аргумента. Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args.
В последней версии C# новая используются операторы верхнего уровня, которые позволяют игнорировать класс Program и метод Main . Большинство существующих программ на C# не используют операторы верхнего уровня, поэтому в этом руководстве эта новая функция не используется. Но она доступна в C# 10, и то, используете ли вы ее в своих программах, зависит от стилистических предпочтений. В команде dotnet new , используемой для создания проекта, —use-program-main параметр не позволил использовать операторы верхнего уровня.
Выполнить приложение
Выполните следующие команды в окне терминала:
dotnet run
Программа отображает «Hello, World!» и заканчивается.

Улучшение приложения
Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.
- Откройте Program.cs.
- В Program.cs замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:
Console.WriteLine("What is your name?"); var name = Console.ReadLine(); var currentDate = DateTime.Now; Console.WriteLine($"Hello, , on at !"); Console.Write($"Press any key to exit. "); Console.ReadKey(true);
Важно! В Visual Studio Code необходимо явно сохранить изменения. В отличие от Visual Studio, изменения файлов не сохраняются автоматически при сборке и запуске приложения.
dotnet run

Дополнительные ресурсы
Следующие шаги
В этом учебнике показано, как создать консольное приложение .NET. В следующем учебнике описывается отладка приложения.
Компиляция в Visual Studio Code с помощью cl.exe (компилятор из MSVC)
Если вам вдруг захочется странного, и вы пожелаете под windows 10 в Visual Studio Code https://code.visualstudio.com/ компилировать программы на C++ с помощью cl.exe (компилятор из MSVC), то вы можете обрадоваться тому, что ни черта не работает. В https://code.visualstudio.com/docs/cpp/config-msvc всё очень красиво, но вот просто так cl.exe может и не запуститься вне «Developer Command Prompt for VS».
В переменную среды Path нужно будет прописать путь к cl.exe, что-то типа «c:\Program Files (x86)\Microsoft Visual Studio\год\BuildTools\VC\Tools\MSVC\версия\bin\Hostx64\x64\»
И перед компиляцией нужно (!) запускать vcvars64.bat для установки дополнительных переменных среды, иначе ничего у вас не скомпилируется. Лежит он примерно по такому пути «c:\Program Files (x86)\Microsoft Visual Studio\год\BuildTools\VC\Auxiliary\Build\», его тоже можно добавить в Path.
Теперь можно просто писать vcvars64.bat в консоли, а затем cl.exe main.cpp и будет счастье. Это же счастье можно записать и в tasks.json для VS Code, он создаётся при нажатии в верхнем меню «Терминал — Настройка задач». В этом файле строка с «command»: «cl.exe», заменяется на «command»: «vcvars64.bat && cl.exe», и тогда перед компиляцией будет сделана необходимая настройка переменных среды.
Как настроить VS Code для разработки на PHP

Так может выглядеть интерфейс редактора после установки расширений
- Основные возможности
- EditorConfig for VS Code
- PHP Intelephense
- PHP Debug
- PHP Sniffer
- Semicolon Insertion Shortcut
- Extra
Основные возможности
- отладчик кода
- встроенный терминал
- удобные инструменты для работы с Git
- подсветка синтаксиса для множества популярных языков и файловых форматов
- удобная навигация
- встроенный предпросмотр Markdown
- умное автодополнение
- встроенный пакетный менеджер
VS Code имеет большое количество расширений для разработчика. Для установки нового пакета зайдите во вкладку «Extensions», введите название пакета в строке поиска, нажмите кнопку «Install».

EditorConfig for VS Code
EditorConfig — это конфигурационный файл и набор расширений к большому количеству редакторов кода. Он подхватывает настройки из файла .editorconfig , который, как правило, размещается в корне проекта. Расширение автоматически настроит отступы и перевод строк единообразно для всех разработчиков, использующих его. PHP код чаще всего выполняется на *nix системах, поэтому необходимо использовать стандарт.
Ниже приводится пример файла .editorconfig , который используется в Laravel:
root = true # Глобальные настройки, которые будут записаны для всех файлов. [*] charset = utf-8 # На Unix системах используется lf для перевода строки. # Это также требование стандарта PSR. end_of_line = lf insert_final_newline = true indent_style = space indent_size = 4 trim_trailing_whitespace = true # Можно задать индивидуальные настройки как для типов файлов, # так и отдельных файлов по имени. [*.md] trim_trailing_whitespace = false [*. ] indent_size = 2 [ ] indent_style = space indent_size = 2 [lib/**.js] indent_style = space indent_size = 2
PHP Intelephense
В редакторе уже есть поддержка синтаксиса и подсказок стандартных функций языка. Но без специального дополнения редактор не будет подсказывать пользовательские функции из других частей проекта. Поэтому для поддержки автодополнения, анализа кода, перехода к месту, где создана функция/класс/переменная (с помощью шортката Alt+Click ), используется дополнение PHP Intelephense
Чтобы подсказки не дублировались необходимо отключить встроенную в редактор поддержку кода для PHP: Extensions -> Search @builtin php -> PHP Language Features -> Disable
PHP Debug
При разработке может возникнуть ситуация, когда простых функций отладки и логирования становится недостаточно. Тогда может помочь специальный инструмент — Дебаггер. Для PHP есть расширение xdebug, которое позволяет расставить точки останова и посмотреть окружение в предполагаемом месте ошибки, выполняя код поэтапно либо до следующей точки.
Чтобы воспользоваться PHP Debug, необходимо установить сам XDebug, без него расширение для редактора работать не будет. Установив расширение, необходимо добавить конфигурацию для PHP в разделе Debug . После выбора языка в корне проекта будет создан файл .vscode/launch.json с задачами для Дебаггера. Расширение создаст файл со стандартными параметрами.
Для того, чтобы XDebug общался с нашим дебаггером, необходимо добавить настройки в файл конфигурации php. Чтобы найти этот файл выполните в терминале команду php —ini или запустите веб-сервер с кодом phpinfo() .
В Linux PHP подгружает не только основной файл, но и файл из этой директории. Например, на Ubuntu путь к директории конфигурационных файлов для PHP может быть таким — /etc/php/7.3/cli/conf.d/ . В ней создаём файл с необходимыми правами (требуются root права):
$ sudo touch /etc/php/7.3/cli/conf.d/99-local.ini $ sudo chmod 777 /etc/php/7.3/cli/conf.d/99-local.ini
xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 ; Порт, который мы указали в launch.json xdebug.idekey=code xdebug.remote_autostart=1
Это настройки для локальной разработки, когда проект разрабатывается и запускается на одном компьютере, например на вашей рабочей машине
PHP Sniffer
В языках программирования есть понятие стиль кодирования. Но не все разработчики знают об этом. Программа, которая отвечает за проверку на соответствие стандартам, называется линтер. В PHP приняты стандарты под названием PSR. Нас интересуют стандарты PSR-1 и PSR-12. Именно эти два стандарта касаются кодирования и правил оформления.
В PHP в качестве линтера используется PHP_CodeSniffer. Для его работы необходимо установить глобально сам линтер composer global require «squizlabs/php_codesniffer=*» и расширение PHP Sniffer.
Проверьте, что линтер установился:
$ phpcs --version PHP_CodeSniffer version 3.4.2 (stable ) by Squiz (https://www.squiz.net )
Выполнить проверку кода в терминале можно с помощью команды phpcs , явно указав стандарт, который мы хотим использовать, и путь для проверки:
$ phpcs --standard =PSR12 dirname >

Semicolon Insertion Shortcut
PHP требует разделять инструкции с помощью точки запятой. Расширение Semicolon Insertion Shortcut добавляет необходимый символ в конец строки с помощью шортката. Если при нажатии [Ctrl] + ; символ не вставляется, то необходимо проверить список горячих клавиш и при необходимости назначить комбинацию вручную: File -> Preferences -> Keyboard Shortcuts

Extra
Список расширений, которые могут быть использованы не только для PHP:
- GitLens — в VS Code уже встроена поддержка Git. Но когда базовых возможностей становится недостаточно, на помощь может придти Gitlens. Например, одна из полезных фич — git blame на текущей строке.

- Indent Rainbow — разноцветные отступы в коде. Подсвечивает некорректный отступ. Можно вместо радуги установить оттенки серого.

- Settings Sync — плагин, позволяющий синхронизировать настройки редактора между разными компьютерами. В качестве облачного хранилища используется Github Gists. Все настройки можно скачать, указав нужный файл синхронизации.
- Fira Code — моноширинный шрифт, в котором используются лигатуры (объединяет несколько символов в один) для общих комбинаций символов в программировании. Визуальная надстройка для более удобного чтения кода.
Создаем Makefile для gcc в Visual Studio Code


4. в нашей папке создаем файл main.c и пишем там священный тетраграмматон:
#include int main(void)
5. попробуйте-ка это скомпилировать. Если вы уже скачали и добавили в path заветный gcc из MinGW — все должно сработать. Вбиваем в терминале VSC:
Вот то получится:

Сгенерировался файл a.exe , т.к. мы не задали выходного имени компилятору. Можно этот экзешник уже запустить при помощи команды:
Ну а можно из cmd. Кстати, удобно переключаться между разными терминалами прямо в VSC. Для этого сначала вводите cmd в терминал, а потом можно там запустить a вот так:
$ cmd Microsoft Windows [Version 10.0.19044.1706] (c) Microsoft Corporation. All rights reserved. D:\GitHub\C>a Hello, world!
Чтобы выйти из терминала вбивайте команду exit
6. Теперь давайте скомпилируем более грамотно:
gcc -o main.exe main.c
Запустить, как вы уже наверное поняли, можно с помощью:
7. Ну каждый раз вводить команду gcc и опции компилятора — лень. Поэтому программисты используют так называемые мейкфайл (Makefile). Создайте новый файл в проекте и назовите его… Makefile VSC сразу же предложит вам скачать плагин на эту тему. В Makefile пишем:
all: main.exe main.exe: main.o gcc -o main.exe main.o main.o: main.c gcc -c main.c clean: rm main.o main.exe
Эт нубский варианты мейкфайла, который просто генерит экзешник и все. Там можно туеву тучу полезных вещей указать. Заметьте, что в мейкфайлах важны отступы (как в Python).
8. Теперь, когда у вас есть makefile — компилировать программу можно просто с помощью команды make:

Удобно? Не то слово! Дальнейшие хитрости и лайфхаки еще напишу в своих заметках. Дерзайте! И напишите комментарий
p.s.
Кстати, сахарок на сегодня: очистить терминал в VSC: Ctrl + L
