{
// 1. 편집기 설정
"editor.fontFamily": "'D2Coding ligature', Consolas, 'Courier New', monospace",
"editor.fontSize": 14,
"editor.tabSize": 2,
"editor.renderWhitespace": "all",
"editor.minimap.enabled": false,
"editor.fontLigatures": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.comments.ignoreEmptyLines": false,
"editor.inlayHints.padding": true,
"editor.linkedEditing": true,
"editor.selectionHighlight": true,
"editor.largeFileOptimizations": false,
"editor.unicodeHighlight.invisibleCharacters": false,
"editor.columnSelection": false,
"editor.cursorStyle": "line",
"editor.cursorBlinking": "smooth",
"editor.guides.bracketPairs": true,
"editor.cursorSmoothCaretAnimation": "explicit",
"editor.quickSuggestions": {
"other": "on",
"comments": "off",
"strings": "off"
},
"editor.suggestOnTriggerCharacters": true,
"diffEditor.ignoreTrimWhitespace": false,
"scm.diffDecorationsIgnoreTrimWhitespace": "inherit",
// 2. file 설정
"files.autoSave": "off",
"files.trimTrailingWhitespace": true,
"files.trimFinalNewlines": true,
"files.insertFinalNewline": true,
"files.associations": {
"*.js": "javascript"
},
// 3. workbench
"workbench.layoutControl.enabled": false,
"workbench.editorAssociations": {
"*.xls": "default",
"*.zip": "default"
},
"workbench.colorCustomizations": {
"terminal.findMatchBorder": "#FFFF00", // 검색된 단어의 테두리색
"terminal.findMatchHighlightBorder": "#00FF00", // 현재 검색된 단어의 테두리색
"editorIndentGuide.activeBackground1": "#F4FF81",
"editorBracketHighlight.foreground1": "#F4FF81",
"editorBracketHighlight.foreground2": "#84FFFF",
"editorBracketHighlight.foreground3": "#B388FF",
"editorBracketHighlight.foreground4": "#F78C6C",
"editorBracketHighlight.foreground5": "#CCFF90",
"editorBracketHighlight.foreground6": "#EA80FC",
"editorBracketHighlight.unexpectedBracket.foreground": "#FF80AB"
},
"workbench.startupEditor": "none",
"workbench.colorTheme": "Material Theme Darker High Contrast",
"workbench.iconTheme": "vscode-icons",
"workbench.settings.applyToAllProfiles": ["editor.fontFamily"],
// 4. terminal & output
"terminal.integrated.defaultProfile.windows": "Git Bash",
"terminal.integrated.env.windows": { "PATH": "${env:PATH};" },
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": ["${env:windir}\\Sysnative\\cmd.exe", "${env:windir}\\System32\\cmd.exe"],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash"
},
"Ubuntu (WSL)": {
"path": "C:\\Windows\\System32\\wsl.exe",
"args": ["-d", "Ubuntu"]
}
},
"output.smartScroll.enabled": false,
// 5. git
"git.autofetch": "all",
"git.confirmSync": true,
"git.openRepositoryInParentFolders": "never",
// 6. 언어별 설정
"javascript.updateImportsOnFileMove.enabled": "prompt",
"[typescript]": {
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
},
"typescript.updateImportsOnFileMove.enabled": "prompt",
"typescript.format.insertSpaceAfterTypeAssertion": true,
"typescript.format.insertSpaceAfterConstructor": true,
"[typescriptreact]": {
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
},
"[javascriptreact]": {
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
},
"dart.flutterHotReloadOnSave": "all",
"dart.previewFlutterUiGuides": true,
"dart.openDevTools": "flutter",
"dart.debugExternalPackageLibraries": true,
"dart.debugSdkLibraries": true,
"go.toolsManagement.autoUpdate": true,
"php.format.rules.spaceBeforeColonInControlStatements": true,
// 7. Lint & Format
"eslint.validate": [{ "language": "javascript" }, { "language": "html" }],
"eslint.probe": ["javascript", "javascriptreact", "typescript", "typescriptreact", "html", "vue", "markdown", "css"],
"prettier.bracketSameLine": true,
"prettier.printWidth": 120,
"prettier.trailingComma": "none",
"prettier.resolveGlobalModules": true,
"emmet.includeLanguages": {
"javascript": "javascriptreact"
},
"reactSnippets.settings.prettierEnabled": true,
"css.format.spaceAroundSelectorSeparator": true,
"cSpell.enabled": true,
// 8. extensions 관련 설정
"liveServer.settings.donotShowInfoMsg": true,
"liveServer.settings.useLocalIp": true,
"liveServer.settings.CustomBrowser": "chrome",
"liveServer.settings.ChromeDebuggingAttachment": false,
"cmake.configureOnOpen": true,
"cmake.options.statusBarVisibility": "visible",
"better-comments.tags": [
{
"tag": "!",
"color": "#FF2D00",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "?",
"color": "#3498DB",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "//",
"color": "#474747",
"strikethrough": true,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "todo",
"color": "#FF8C00",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "*",
"color": "#98C379",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
}
],
"redhat.telemetry.enabled": false,
"importCost.typescriptExtensions": ["\\.tsx?$"]
}