VS Code — современная среда разработки

Visual Studio Code — самый популярный редактор кода в мире. Он бесплатный, лёгкий и работает с любым языком: от Python и JavaScript до Docker и YAML. В этом курсе ты разберёшь его возможности по-настоящему, а не просто откроешь файл.

Уровень: начальный 19 разделов ⏱ 2–3 часа

1. Что такое VS Code и зачем он нужен

VS Code — это редактор исходного кода от Microsoft на основе Chromium. В отличие от «тяжёлых» IDE вроде IntelliJ IDEA, он стартует за секунды, но умеет почти всё то же самое благодаря расширениям (extensions).

VS Code называют «редактором», а не IDE, но с правильными расширениями он ведёт себя как полноценная среда — например, для Python или JavaScript.

2. Установка и первый запуск

Скачай установщик с официального сайта code.visualstudio.com и установи как обычную программу. Полезные опции при установке:

# Открыть текущую папку из терминала
code .
# Открыть конкретный файл
code index.html index.css
# Сравнить два файла
code --diff a.js b.js

После запуска VS Code предлагает открыть папку (Folder) или файл, а также показывает приветственный Welcome-экран.

3. Интерфейс: панели и расположение

Основные части окна:

ОбластьЧто здесь
Activity Bar (слева)иконки: Explorer, Search, Source Control, Run, Extensions
Side Barсодержимое выбранной иконки (дерево файлов, поиск…)
Editor (центр)открытые вкладки с кодом
Panel (снизу)терминал, проблемы, вывод, отладчик
Status Barветка Git, язык, кодировка, позиция курсора

Панели можно перетаскивать, скрывать и разделять редактор на группы: Ctrl + \ — вертикальное разделение.

4. Рабочее пространство (workspace) и файлы

Workspace — это папка (или несколько папок), с которой работает проект. Открой File → Open Folder. Слева появится дерево файлов:

my-project/
├── index.html
├── css/
│   └── style.css
├── js/
│   └── app.js
└── .vscode/          # настройки проекта (settings.json)
Прячу «служебные» файлы можно через настройку files.exclude. Например, скрыть папку node_modules, чтобы не мешала.

5. Умный редактор: IntelliSense

IntelliSense — автодополнение на основе языка и твоего кода. Начни печатать — появится список вариантов. Клавиши: Ctrl + Space вручную вызвать подсказку, Tab или Enter принять.

// печатаешь
document.addEvent
// VS Code предлагает
document.addEventListener(event, callback, options) // Enter

Полезные команды редактирования:

ДействиеКомбинация
Закомментировать строкуCtrl + /
Форматировать документShift + Alt + F
Скопировать строку внизShift + Alt + ↓
Удалить строкуCtrl + Shift + K
Переместить строкуAlt + ↑ / ↓

6. Палитра команд и горячие клавиши

Command Palette открывается клавишей Ctrl + Shift + P — это строка поиска по всем командам VS Code. Запомни эти команды:

Ctrl + Shift + P   # открыть палитру команд
> Format Document  # отформатировать файл
> Preferences: Color Theme # сменить тему
> Toggle Side Bar  # скрыть/показать панель
> Settings         # открыть настройки

Частая ошибка новичка — искать функции мышью. Палитра команд и Ctrl + P — главный способ навигации, его стоит выучить первым.

7. Мультикурсор, выделения и поиск

VS Code позволяет редактировать несколько мест одновременно:

// Было
color: red; width: red; border: red;
// Ctrl+Shift+L выделяет слово red → печатаем #ff0000
color: #ff0000; width: #ff0000; border: #ff0000;
Мультикурсор — суперсила для единообразного кода. Но следи, чтобы не зацепить лишние места: сначала проверь, что выделены ровно те вхождения, что нужно.

8. Сниппеты и фрагменты кода

Сниппет — это готовый блок кода, который подставляется по аббревиатуре. Создать свой: File → Preferences → User Snippets и выбрать язык.

// Пример сниппета для JavaScript
"console.log": {
  "prefix": "clg",
  "body": ["console.log('$1')"],
  "description": "Вывести значение в консоль"
}

Теперь набери clg и нажми Tab — появится console.log(''), а курсор встанет внутрь кавычек.

Полезные сниппеты: html5 для HTML, log для React-компонентов, mq для медиа-запросов в CSS. Готовые наборы ставятся как расширения (например, ES7+ React snippets).

9. Терминал и задачи

Встроенный терминал открывается Ctrl + ~. Он запускается в корне рабочей папки — можно сразу выполнять npm install, писать git status или запускать сервер, не выходя из редактора.

Ctrl + ~          # показать терминал
Ctrl + Shift + 5  # разделить терминал на два
+ (кнопка)        # новый терминал (например, PowerShell и bash)

Tasks (Ctrl + Shift + B) позволяют назначить команду на клавишу. Создай файл .vscode/tasks.json с задачей запуска сборки, и она будет появляться в меню Terminal → Run Task.

10. Git внутри редактора

Раздел Source Control (Ctrl + Shift + G) — это панель Git. Основные действия:

# Полезные команды в палитре
> Git: Commit All
> Git: Push
> Git: Discard All Changes
> Source Control...
Про сам Git рассказывает отдельный курс Git, а про хостинг — GitHub. VS Code лишь удобная обёртка над командами.

11. Отладка (Debug)

Отладчик ставит точки останова (breakpoints) и запускает код с паузой. Перейди на вкладку Run and Debug (Ctrl + Shift + D) и нажми create a launch.json file — VS Code предложит конфигурацию под язык.

// .vscode/launch.json для Node.js
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Запустить app.js",
      "program": "${workspaceFolder}/app.js"
    }
  ]
}

Клик по номеру строки ставит красную точку. При запуске отладки выполнение остановится, и ты увидишь переменные во вкладке Variables. Клавиши: F5 — запуск, F10 — шаг без входа в функцию, F11 — шаг с заходом, Shift + F5 — остановить.

12. Расширения и настройка

Магазин расширений — вкладка Extensions (Ctrl + Shift + X). Обязательный набор для веб-разработчика:

ESLint               # проверка JavaScript (курс: ESLint)
Prettier             # автоформатирование
Live Server          # локальный сервер с автоперезагрузкой
Volar                # поддержка Vue (курс: Vue 3)
ES7+ React snippets  # сниппеты React (курс: React)
Docker               # контейнеры (курс: Docker)
GitLens              # расширенная навигация по Git

Настройки в JSON: Ctrl + , → иконка {} справа сверху. Примеры полезных настроек:

{
  "editor.tabSize": 2,
  "editor.formatOnSave": true,
  "editor.minimap.enabled": false,
  "files.autoSave": "onFocusChange",
  "workbench.colorTheme": "Default Dark+"
}
Не ставь десятки расширений «на всякий случай» — каждое замедляет запуск. Держи только те, что реально используешь.

13. Горячие клавиши и сниппеты на скорость

Свои комбинации задаются в File → Preferences → Keyboard Shortcuts. Записи хранятся в keybindings.json:

[
  { "key": "ctrl+shift+1", "command": "editor.foldAll" },
  { "key": "ctrl+shift+2", "command": "editor.unfoldAll" },
  { "key": "ctrl+alt+d",   "command": "workbench.action.terminal.split" }
]

А скорость ввода дают сниппеты с полями-табуляторами: Tab прыгает по $1, $2, курсор заканчивает в $0:

"fetchJson": {
  "prefix": "fe",
  "body": ["const res = await fetch('$1');", "const data = await res.json();", "$0"],
  "description": "Fetch с JSON"
}
В HTML/CSS разгоняет вёрстку Emmet: набери ul>li*3 и нажми Tab — получишь три пункта списка. Курс по Emmet — здесь.

14. Совместная работа и Remote

Расширение Live Share позволяет редактировать один файл одновременно с коллегой: видно чужие курсоры, есть общий терминал и чат, управление можно передавать. Работая не с локальными файлами, подключай пакет Remote (Remote-SSH, WSL, Containers): проект живёт на сервере, интерфейс — локально.

Live Share даёт доступ к коду на время сессии: закрывай сессию сразу после работы и не вставляй реальные секреты в общий терминал.

15. Производительность на больших проектах

На крупных кодовых базах VS Code может подтормаживать. Быстрые проверки:

// settings.json
"files.exclude": { "**/node_modules": true },
"search.exclude": { "**/dist": true, "**/build": true },
"editor.formatOnSave": true
Если проект еле открывается — проверь, не индексируется ли node_modules: исключения выше избавляют от большинства тормозов. Про фоновый аудит скорости загрузки писал курс Lighthouse.

16. Профили и синхронизация настроек

Профили — готовые наборы настроек, расширений и клавиатурных раскладок под разные задачи. Один профиль для фронтенда, второй для Python, третий для докладов и работы на чужой машине. Включается через палитру команд:

// палитра команд
> Profiles: Create Profile
> Preferences: Sync Turn On   // синхронизация через GitHub
> Profiles: Backup Profile
Профиль — это не «всё сразу», а минимум для текущей задачи. Правильная привычка: расширения добавляй точечно, а не десятками «на всякий случай».

17. Безопасность: доверие к папкам и расширениям

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

// settings.json
"security.workspace.trust.enabled": true,
"security.workspace.trust.untrustedFiles": "newWindow"
VS Code выполняет интеграции из workspace. Открывая репозиторий из интернета, не нажимай «Trust» вслепую — запусти в Restricted mode и проверь задачи и debug-конфиги.

18. Рефакторинг и навигация по коду

Языковые серверы дают интеллектуальную навигацию. Главные инструменты:

ДействиеСочетание
Перейти к определениюF12
Найти все ссылкиShift+F12
Быстрый просмотр (Peek)Alt+F12
Переименовать символF2
Code Actions (быстрые исправления)Ctrl + .
Ctrl + Shift + L   // выделить все вхождения слова
F2                 // переименовать функцию во всех файлах
Ctrl + .           // исправить по подсказке линтера
F2 переименовывает функцию или переменную разом по всей кодовой базе — это главный инструмент рефакторинга в VS Code. Начните с него, а не с ручного поиска-замены.

19. ИИ-помощники в редакторе

Расширения на базе больших языковых моделей превращают VS Code в среду с автодополнением намерений. Популярные варианты: GitHub Copilot (автодополнение и чат), ChatGPT-плагины, Continue.

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

20. Базы данных в редакторе

Работа с базами в VS Code — это не отдельная программа: расширения подключаются к SQLite, PostgreSQL и MySQL прямо из боковой панели. Посмотри на SQLite Viewer для лёгких файлов и PostgreSQL-клиенты для серверных баз:

SQLite Viewer     # открыть .db и .sqlite в табличном виде
PostgreSQL Driver # подключение по строке соединения
MySQL Client      # запросы и структура БД
-- файл queries.sql: наведи курсор и выполни
SELECT name, price FROM products WHERE price > 100;
Никогда не сохраняйте пароли баз в сниппетах и settings.json: используйте переменные окружения или менеджер секретов редактора.
Подробнее про сами запросы — курс SQL и PostgreSQL. Здесь важно лишь то, что весь цикл умещается в окне редактора.

21. Тесты из редактора: Test Explorer

VS Code научился запускать тесты как единый поток: отдельная панель, зелёные/красные кружки у файлов, запуск одного теста кликом. Для этого нужны расширения-интеграции

Vitest Runner / Jest Runner   # фронтенд-тесты (курс Vitest)
Python Test Explorer          # pytest и unittest
Java Test Runner              # JUnit 5
// .vscode/settings.json
"vitest.enable": true,
"jest.autoRun": { "off": true }   # не гонять авто на каждое сохранение
Тест, который долго запускается из терминала, рядом с кодом запускается за секунду — меньше контекстных переключений, выше скорость разработки.

22. JSON и конфиги: схемы и валидация

Опечатка в package.json или tsconfig ломает конфиг. VS Code валидирует JSON по схеме: подсказывает поля, показывает ошибки типов и даёт автодополнение. Настройка — через json.schemas:

// settings.json
"json.schemas": [{
  "fileMatch": ["/*.myconfig.json"],
  "url": "https://example.com/schema.json"
}]
// package.json: @vscode показывает "dependencies" подсказкой
{ "scripts": { "dev": "vite" }, "dependencies": {} }
JSON не терпит комментариев и хвостовых запятых: если нужны комментарии, переименуй файл в .jsonc или используй YAML.

23. Чек-лист: настройка редактора под новый проект

Первый день в новом репозитории — время настроек, а не «как у меня было». Быстрый план:

ШагДействие
1Открой workspace и подтверди Trust только после осмотра задач (раздел 17)
2Установи расширения из .vscode/extensions.json по кнопке
3Проверь дефолтный форматтер и форматирование при сохранении
4Запусти первый тест через Test Explorer (раздел 21)
5Настрой задачи и терминал: одни сочетания для сборки и запуска
// .vscode/extensions.json
{ "recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"] }
Рекомендации расширений коммитятся в репозиторий: новый участник получает окружение одной кнопкой — это ускоряет онбординг сильнее любого туториала.
Рабочий день в VS Code строится вокруг вашего проекта: конфиги, тесты, схемы и задачи каждого репозитория важнее глобальных привычек.

Что дальше

Почувствовать силу VS Code проще всего на практике: сверстай страницу по курсу HTML и CSS, добавь интерактив на JavaScript, а быструю вёрстку разгони Emmet — курс по Emmet. Проверить качество кода поможет курс ESLint, а аудит производительности — Lighthouse.

← Вернуться к курсам