VS Code: настройка settings.json
settings.json — основной файл конфигурации VS Code, в котором все пользовательские предпочтения хранятся в формате JSON.
Зачем нужно
Графический интерфейс Settings охватывает самые популярные опции, но settings.json позволяет настроить абсолютно всё: форматирование по типу файла, LSP-поведение, правила расширений. Знание структуры файла позволяет быстро переносить настройки, делиться ими с командой и версионировать через .vscode/settings.json.
Где используется
- Персональная настройка редактора (User settings)
- Командные настройки проекта (Workspace settings в
.vscode/settings.json) - Миграция настроек на новую машину
Открытие settings.json
Ctrl+Shift+P → "Open User Settings (JSON)" → глобальные настройки
Ctrl+Shift+P → "Open Workspace Settings (JSON)" → настройки проекта
Или вручную:
Windows: %APPDATA%\Code\User\settings.json
macOS: ~/Library/Application Support/Code/User/settings.json
Linux: ~/.config/Code/User/settings.json
Полный пример settings.json для разработчика
{
// === РЕДАКТОР ===
"editor.fontSize": 15,
"editor.fontFamily": "'JetBrains Mono', 'Fira Code', monospace",
"editor.fontLigatures": true,
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.wordWrap": "on",
"editor.lineNumbers": "on",
"editor.minimap.enabled": false,
"editor.rulers": [80, 120],
"editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": true,
"editor.cursorBlinking": "smooth",
"editor.smoothScrolling": true,
"editor.stickyScroll.enabled": true,
// === ФОРМАТИРОВАНИЕ ===
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.organizeImports": "explicit"
},
// По типу файла
"[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[json]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[markdown]": {
"editor.defaultFormatter": "yzhang.markdown-all-in-one",
"editor.wordWrap": "on"
},
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.tabSize": 4
},
// === ФАЙЛЫ ===
"files.autoSave": "onFocusChange",
"files.encoding": "utf8",
"files.eol": "\n",
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"files.exclude": {
"node_modules": true,
".git": true,
"dist": false
},
// === GIT ===
"git.autofetch": true,
"git.confirmSync": false,
"git.enableSmartCommit": true,
// === ТЕРМИНАЛ ===
"terminal.integrated.fontSize": 14,
"terminal.integrated.defaultProfile.windows": "Git Bash",
// === TYPESCRIPT ===
"typescript.updateImportsOnFileMove.enabled": "always",
"typescript.preferences.importModuleSpecifier": "relative",
"typescript.inlayHints.parameterNames.enabled": "literals",
// === ПОИСК ===
"search.exclude": {
"**/node_modules": true,
"**/dist": true,
"**/*.lock": true,
"**/.git": true
},
// === ПРОЧЕЕ ===
"workbench.colorTheme": "One Dark Pro",
"workbench.iconTheme": "material-icon-theme",
"window.zoomLevel": 0,
"telemetry.telemetryLevel": "off"
}
Частые ошибки
- Редактирование settings.json с синтаксическими ошибками — VS Code молча игнорирует файл
- Коммит user settings в репозиторий вместо workspace settings — у всех разные пути
"editor.formatOnSave": trueбез"editor.defaultFormatter"— VS Code спрашивает выбор- Конфликт prettier и eslint без
eslint-config-prettier— двойное форматирование
Связанные темы
- _MOC Инструменты
- VS Code -- workspace настройки
- VS Code -- расширения для начинающих
- VS Code -- установка и настройка