Microsoft выпустила большое обновление для VS Code. Не просто очередной патч с исправлениями, а реально полезные штуки. Разберём, что появилось в редакторе за последние месяцы и как этим пользоваться.
Если вы работали с монолитами или проектами на 500+ файлов, знаете эту боль - VS Code начинал тормозить, поиск работал медленно, автодополнение задумывалось.
В 2024 году движок TypeScript переписали. Теперь он не сканирует все файлы сразу, а подгружает только то, что нужно в данный момент. Вот как это выглядит на практике:
// Раньше - редактор грузил весь проект
import { UserService } from './services/user.service';
import { AuthService } from './services/auth.service';
// ... ещё 50 импортов
// Сейчас - редактор лениво подгружает зависимости
// Пока вы не откроете файл или не начнёте писать код,
// эти сервисы не сканируются
Проверял на проекте с 1200 файлами - разница в скорости открытия около 40%. Не идеал, но жить стало заметно легче.
В настройках появился параметр typescript.experimental.suspiciousFileCheck. Если включить - редактор будет подсвечивать файлы, которые могут тормозить проект. Удобно для отладки производительности.
GitHub Copilot встроили прямо в редактор, уже не надо ставить отдельное расширение. Но главное - он научился понимать контекст лучше.
Раньше он предлагал что-то вроде:
// Пользователь пишет: "получить данные пользователя"
// Copilot предлагал:
async function getUserData(userId: string) {
const response = await fetch(`/api/users/${userId}`);
return response.json();
}
Теперь он смотрит на всю кодовую базу и может предложить:
// Copilot видит, что в проекте используется axios и кеширование
async function getUserData(userId: string): Promise {
const cacheKey = `user_${userId}`;
const cached = cache.get(cacheKey);
if (cached) return cached;
const { data } = await api.get(`/users/${userId}`);
cache.set(cacheKey, data);
return data;
}
Работает не идеально, но в 7 из 10 случаев угадывает архитектуру проекта.
Встроенный терминал переписали с нуля. Теперь он:
Полезная фишка - можно запустить несколько терминалов и переключаться между ними как между вкладками браузера. Например:
# Терминал 1 - сервер разработки
npm run dev
# Терминал 2 - тесты в watch режиме
npm run test:watch
# Терминал 3 - сборка TypeScript
tsc --watch
Раньше для этого приходилось открывать отдельные окна терминала или использовать tmux. Теперь всё в одном месте.
Раньше, чтобы отладить код на сервере или в Docker, нужно было настраивать кучу конфигов. Теперь это работает из коробки.
Пример для Docker:
// В .vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Docker: Node.js",
"remoteRoot": "/app",
"localRoot": "${workspaceFolder}",
"port": 9229,
"restart": true
}
]
}
Просто запускаете контейнер с флагом --inspect, и VS Code сам подключается к дебаггеру. Точки остановки работают, переменные смотрятся, стек вызовов видно.
Субъективно - стало быстрее. Но есть нюанс: если наставить кучу расширений, всё равно будет тормозить. Microsoft сделали инструмент, который показывает, какие расширения жрут ресурсы. Откройте Help - Show Performance Issues и увидите табличку с потреблением CPU и памяти по каждому расширению. У меня, например, Python-расширение жрало 15% CPU в фоне - отключил, разницы не заметил.
VS Code 2024 - не революция, но эволюция. Разработчики наконец-то занялись тем, что реально тормозило работу: производительность, терминал, интеграция с AI. Copilot теперь встроен и работает адекватно, дебаггер для удалённых сред не требует плясок с бубном.
Если вы сидели на старой версии - обновляйтесь. Особенно если работаете с большими проектами или часто лазаете в дебаггер. Новый терминал и оптимизации TypeScript сами по себе стоят того, чтобы потратить 5 минут на обновление.
Комментариев пока нет