一、基础设置
路径:首选项
- File: Auto Save,自动保存:下拉选择 “afterDelay”,时间为 1000 (毫秒)
- Editor: Font Size,字体大小:填写 17 (编辑器字体大小)
- terminal.integrated.font Size:填写 16 (终端字体大小)
- Editor: Font Family,字体类型:再最前面追加 'YaHei Consolas Hybrid',
即 'YaHei Consolas Hybrid','Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback' - Editor: Mouse Wheel Zoom:去掉勾选“按住Ctrl键并滚动鼠标滚轮时对编辑器字体大小进行缩放”
- 主题 -> 颜色主体:浅色(Visual Studio) Visual Studio Light
- [推]自定义VSCode左边资源管理器文件夹【缩进】距离
- 在新窗口中打开文件夹:设置 -> 窗口 -> 新建窗口 -> 找到“
Open Folders In New Window”,选择“on” - 关闭“工作区信任”功能,即以后不要弹框提示是否信任某个工作区或文件了,统统都被信任:
搜索“Trust: Enabled”,去掉勾选“控制是否在 VS Code 内启用工作区信任” - 关闭“缩略图”:文本编辑器 -> 缩略图 -> Enabled,去掉勾选“控制是否显示缩略图”
- 始终显示滚动条:文本编辑器 ->
Scrollbar: Horizontal,勾选“visible”,Scrollbar: Vertical,选择“visible” - 关闭功能“鼠标单选单词时高亮”:文本编辑器 ->
Occurrences Highlight, 去掉勾选“控制编辑器是否突出显示语义符号的匹配项目”
相关配置:
- Trae的 Breadcrumbs(面包屑)导航功能详解:Breadcrumbs
- 【VSCode/Trae】Spring Boot Java修改热更新
- 【VSCode/Trae】Prettier 如何设置,如果已经手动换行的,就不要强制在 一行了
二、快捷键设置
设置路径:首选项->键盘快捷键(搜索以下“命令”)
| 命令 | 快捷键 | 功能 |
|---|---|---|
| 触发建议 | Alt + / | 代码提示 |
| 快速修复 | Alt + Enter | 显示可用的代码修复/操作建议 |
| 触发参数提示 | F1 | |
| 转到定义 | F12 | 转到定义 |
| 切换行注释 | Ctrl + / | 双斜杠注释 |
| 切换块注释 | Ctrl + Shilft + / | 块注释 |
| 删除行 | Ctrl + D | 删除当前行 |
| 格式化文档 | Ctrl + I | 格式化代码 |
| 关闭编辑器 | Ctrl + W | 关闭正在编辑的活动窗口 |
| 查找(文本) | Ctrl + F | 在“当前文件”中搜索字符串 |
| 查找下一个 | F3 | |
| 替换 | Ctrl + H | 在“当前文件”中替换字符串 |
| 在文件中查找 | Ctrl + Shift + F | 在“整个项目”中搜索字符串,,会打开左边的“搜索框” |
| 在文件中替换 | Ctrl + Shift + H | 在“整个项目”中替换字符串,,会打开左边的“替换框” |
| 按名称搜索文件 | Ctrl + E | 功能1:最近关闭的文件; 功能2:按名称搜索文件; |
| 打开最近的文件 | Ctrl + R | |
| 转到行/列 | Ctrl + L | |
| 查找所有引用 | Ctrl + G | 查找某个方法在项目中的使用统计 |
| 向下复制行 | Ctrl + Alt + ↓ | 复制当前行到下一行中。比Ctrl+C单纯的复制功能要方便好用(省掉了粘贴步骤),主要是用在编写代码时,需要移动代码的地方。 |
| 向上复制行 | Ctrl + Alt + ↑ | |
| 向下移动行 | Alt + ↓ | 移动单行(多行)代码。也是比Ctrl+C更好的快捷键。 |
| 向上移动行 | Alt + ↑ | |
| 重命名符号 | F2 | 包括变量名、方法名、文件名 等标识符 |
| 切换面板可见性 | Ctrl + J | 打开命令行终端 |
| 创建新的终端 | Ctrl + T | 新建命令行终端 |
| 查看:向右拆分编辑器 | Ctrl + P | 分成多列,方便对比查看 |
| 新建窗口 | Ctrl + N | |
| 文件:打开文件夹 | Ctrl + O | |
| 显示所有命令 | Ctrl + Shift + P | 打开命令面板 |
| 转换为大写 | Ctrl + Shift + U | |
| 转换为小写 | Ctrl + Shift + I | |
F2 重命名文件时,选择扩展名
在 VSCode 的资源管理器(左侧文件列表)中选中一个文件,然后连续按 F2 键,你会看到文件名的高亮选中状态在三种模式间循环切换:
| 按键次数 | 选中状态 | 说明 |
|---|---|---|
第一次按 F2 |
选中文件名全称(不含后缀) | 此时直接输入,只会修改文件的名字,保留原有的扩展名。这是最常用的模式。 |
第二次按 F2 |
选中文件全称(含扩展名) | 此时输入会替换掉整个文件名和扩展名。 |
第三次按 F2 |
选中文件扩展名 | 此时输入只会修改文件的后缀名,而主文件名保持不变。 |
三、常用插件
<1>通用插件:
- JetBrains Idea Product Icon Theme:左边导航栏Icon图标。
【已弃用】XML Language Support by Red Hat:XML有关的智能提示、格式化等插件。 【已弃用】会对注释中的空格换行显示- XML Tools:[官方下载] XML智能提醒、格式化插件
- GitLens - Git supercharged:[官方下载] 超级神器。极大地增强了VS Code的Git功能,能看到每行代码的作者和提交记录(Git Blame),进行版本对比等。
- Git History:[官方下载] 该插件作用是可视化展示 Git 提交历史,替代传统的
git log命令行方式,让你更直观地查看、对比、筛选提交记录。 - Prettier - Code formatter:最流行的代码格式化工具,一键美化代码(JS/TS, CSS, JSON, Markdown等),保持团队风格统一。
- Auto Close Tag:当我们在结束标记中键入结束括号时,它将添加结束标记。它支持HTML,Handlebars,XML,PHP,Vue,JavaScript,Typescript,JSX等。
- Custom UI Style:自定义VSCode/Trae界面样式,如修改字体大小
<2>Vue3项目插件
- Vue - Official:[官方下载] 不仅支持 Vue3 语言高亮、语法检测,还支持 TypeScript 和基于 vue-tsc 的类型检查功能。
- Vue 3 Snippets:[官方下载] 插件旨在为开发者提供最简单快速的生成 Vue 代码片段的方法,通过各种快捷键就可以在
.vue文件中快速生成各种代码片段。 - Vue 2 Snippets:[官方下载]
- Vite:[官方下载] Vite 插件可以让我们打开项目后,就能自动启动开发服务器,允许开发者无需离开编辑器即可预览和调试应用。支持一键启动、构建和重启项目。
- ESLint:[官方下载] 一款语法检测工具。因为 JavaScript 本身是一门灵活的动态语言,一千个 JavaScriptor 就有一千种写法。为了方便人们的理解,快速上手别人的代码。
- DotENV:[官方下载] 用环境变量来配置Node.js应用程序是很常见的。管理环境变量最流行的一个模块是dotenv。VS Code的DotENV扩展组件在编辑.env文件时添加了便捷的语法高亮显示功能。
- Error Lens:[官方下载] 改进错误、警告和其他语言诊断的高亮显示。
<3>SpringBoot项目插件
- Extension Pack for Java:微软官方的Java开发扩展包,自动安装下面几项核心Java插件:
- Language Support for Java™ by Red Hat: 提供智能补全、语法检查、重构等核心语言功能。
- Debugger for Java: 支持断点、单步调试、变量监视等所有标准调试功能。
- Maven for Java: 提供Maven项目管理、命令执行和依赖可视化。
- Gradle for Java: 提供Gradle项目管理和任务执行。
- Test Runner for Java: 用于运行和调试JUnit、TestNG测试用例。
- Project Manager for Java: 在侧边栏提供一个独立的Java项目视图,体验类似于Eclipse/IDEA。
- Java Launcher
- Spring Bean Navigator
- Spring Boot Extension Pack
- Spring Boot Tools
- Spring Boot Dashboard:
- Spring Boot Extension Pack
- Spring CLI
- Spring Initializr Java Support
- -----------------------------------------
- Lombok Annotations Support for VS Code:支持Lombok注释处理的轻量级扩展
【VSCode/Trae】Spring Boot Java修改热更新
配置文件:首选项 -> 配置文件 -> setting.json
格式化Java代码:
"editor.formatOnSave": true,
"java.saveActions.organizeImports": true,
"java.format.comments.enabled": true,
"java.completion.importOrder": [
"#", // 第1组:所有静态导入 (import static ...)
"java", // 第2组:java.* 包
"javax", // 第3组:javax.* 包
"" // 第4组:所有其他非静态导入
],
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit", // 优化导入
},
"editor.codeActions.triggerOnFocusChange": true,
"notebook.formatOnSave.enabled": true,
"notebook.codeActionsOnSave": {
"source.organizeImports": "explicit", // 优化导入
},
<4>Python插件
- Python:[官方下载] 提供语言服务器支持、调试器集成和 IntelliSense。
- Python Development Extensions Pack:[官方下载] 此扩展包汇集了全栈Python开发或Web开发所需的一些最受欢迎以及我个人最喜爱的扩展。
- Black Formatter:[官方下载] 代码格式化。
- isort:[官方下载] 导入排序自动化。
- autoDocstring - Python Docstring Generator:[官方下载] 自动为 Python 函数、类、方法生成符合规范的文档字符串(Docstring)。
- Jupyter:[官方下载] 基于浏览器的笔记本(Notebook)环境,能在同一文档里混合编写代码、运行结果、富文本、公式与可视化,是数据科学、科研与教学的主流工具Jupyter。
- Pylance:[官方下载] 增强型语言支持,实现快速类型检查与符号跳转。
<5>Markdown插件
- Markdown All in One
- Markdown Preview Enhanced
- Mermaid Markdown Syntax Highlighting
- markdownlint
<6>Claude Code 编程插件
- Claude Code for VS Code:[官方下载] 在 VS Code 中直接释放 Claude 的原生能力。即刻搜索数百万行代码库,将耗时数小时的工作流浓缩为一条命令。你的工具,你的工作流,你的代码库,以思考的速度迭代进化。
四、设置备份
setting.json设置备份 —— Windows版
{
"window.menuBarVisibility": "compact", // 紧凑菜单栏
"window.openFoldersInNewWindow": "on", // 打开文件夹时在新窗口
"explorer.confirmDelete": false, // 确认删除文件时是否弹窗确认
"explorer.compactFolders": true, // 紧凑文件夹视图
"diffEditor.ignoreTrimWhitespace": false, // 忽略差异编辑器中的空格
"diffEditor.hideUnchangedRegions.enabled": true, // 隐藏未改变的区域
"extensions.ignoreRecommendations": true, // 忽略插件推荐
"chat.commandCenter.enabled": false, // 禁用命令中心
"update.showReleaseNotes": false, // 不显示更新日志
// ===========================================
// 工作区设置
// ===========================================
"workbench.colorTheme": "Visual Studio Light",
"workbench.productIconTheme": "jetbrains-idea-product-icon-theme",
"workbench.tree.indent": 20, // 树状结构缩进宽度(单位:像素),常用值12/16/20,默认16
"workbench.layoutControl.enabled": false,
"workbench.tree.enableStickyScroll": false,
"workbench.settings.applyToAllProfiles": ["prettier.tabWidth", "path-autocomplete.includeExtension", "files.autoSave"],
"workbench.startupEditor": "none",
// 加点背景透明度,字体显示的更加清晰
"custom-ui-style.background.opacity": 0.9,
"custom-ui-style.stylesheet": {
// 设置界面字体大小
".monaco-workbench .part>.content": {
"font-size": "15px !important"
},
// 显示侧边栏滚动条(没起作用)
".monaco-workbench .part.sidebar > .content": {
"overflow-x": "auto !important"
}
},
// 豆绿色(护眼绿)背景
// 经典护眼绿:#C7EDCC,浅豆绿:#CCE8CF,偏黄豆绿:#D4ECD6,淡绿:#E8F5E9
"workbench.colorCustomizations": {
"editor.background": "#C7EDCC", // 编辑器主背景(经典护眼豆绿)
// "sideBar.background": "#E8F5E9", // 侧边栏背景(浅一点的绿)
"activityBar.background": "#A5D6A7", // 左侧活动栏背景
"tab.activeBackground": "#C8E6C9", // 激活标签页背景
"tab.inactiveBackground": "#E8F5E9", // 未激活标签页背景
"panel.background": "#E8F5E9", //面板(终端/输出)背景
"editorCursor.foreground": "#FF0000", // 设置光标颜色为红色
"editor.foreground": "#000000", // 编辑器默认文本颜色
"editorIndentGuide.background1": "#999999", // 普通缩进线的颜色
"editorIndentGuide.activeBackground1": "#569CD6" // 光标所在行/活动区域的缩进线颜色 (可以更亮)
},
// ===========================================
// 编辑器设置
// ===========================================
"editor.fontSize": 17, // 编辑器字体大小
"editor.fontFamily": "'YaHei Consolas Hybrid',Consolas, 'Courier New', monospace",
"editor.indentSize": "tabSize",
"editor.tabCompletion": "on",
"editor.detectIndentation": false,
"editor.accessibilitySupport": "off",
"editor.stickyScroll.enabled": false,
"editor.stickyScroll.scrollWithEditor": false,
"editor.scrollbar.horizontalScrollbarSize": 18,
"editor.scrollbar.verticalScrollbarSize": 18,
"editor.occurrencesHighlight": "off",
"editor.unicodeHighlight.ambiguousCharacters": false,
"editor.mouseWheelZoom": true, // 启用鼠标滚轮缩放
"editor.tabSize": 4, // 全局默认 Tab 大小
"editor.insertSpaces": true, // 强制将 Tab 转换为空格
"editor.bracketPairColorization.enabled": false, // 禁用括号颜色化
"editor.inlayHints.enabled": "offUnlessPressed", // 禁用内联提示(如方法参数提示)
"editor.codeActions.triggerOnFocusChange": true,
"breadcrumbs.enabled": true, // 启用面包屑导航
// 全局光标样式
"editor.cursorStyle": "line", // 光标样式:line(默认)、block、underline
"editor.cursorWidth": 2, // 线状光标宽度(仅 line/underline 有效)
"editor.cursorBlinking": "blink", // 光标闪烁:blink、smooth、phase、solid
// ===========================================
// 自动保存+格式化代码+优化导入
// ===========================================
"editor.formatOnSave": true, // 保存时自动格式化代码
// 默认格式化工具 —— 备注:还是不要全局性指定格式化工具了,通用不了,比如Prettier格式化Markdown文件后,乱套了
// "editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit" // 每次保存时自动优化导入
},
// Prettier全局配置(优先级高于编辑器配置,但低于项目本地配置)
"prettier.useEditorConfig": false,
// 格式化代码时的一行最大字符数(超过则换行)
// 宽屏场景:140 ~ 160(按需调整,不建议超过 180);
"prettier.printWidth": 180,
"prettier.tabWidth": 4, // 缩进大小
"prettier.useTabs": false, // 不使用 tab 缩进,而使用空格缩进
"prettier.semi": true, // 语句末尾添加分号
"prettier.singleQuote": true, // 使用单引号(替代双引号)
"prettier.quoteProps": "as-needed", // 仅在需要时添加引号(如对象属性)
"prettier.jsxSingleQuote": false, // 在 JSX 中使用单引号(替代双引号)
"prettier.trailingComma": "none", // 数组或对象最后一个元素后是否添加逗号(none 表示不添加)
"prettier.bracketSpacing": true, // 在对象字面量中是否添加空格(如 { a: 1 })
"prettier.bracketSameLine": false, // 在对象字面量中是否将右括号与最后一个属性放在同一行(false 表示不放在同一行)
"prettier.arrowParens": "always", // 箭头函数参数是否添加括号(always 表示始终添加)
"prettier.requirePragma": false, // 是否要求在文件顶部添加 prettier 注释(false 表示不要求)
"prettier.insertPragma": false, // 是否在文件顶部插入 prettier 注释(false 表示不插入)
"prettier.proseWrap": "preserve", // 保留文本中的换行(对字符串/注释生效)
"prettier.htmlWhitespaceSensitivity": "ignore", // HTML 标签属性是否换行(strict 表示严格)
"prettier.vueIndentScriptAndStyle": true, // Vue 文件中是否缩进 <script> 和 <style> 标签内容(true 表示缩进)
"prettier.endOfLine": "lf", // 换行符类型(lf 是跨平台推荐)
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// 为.js文件指定默认格式化工具
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// 为.ts文件指定默认格式化工具
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// 为.tsx文件指定默认格式化工具
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[yaml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter"
},
"[java]": {
"editor.defaultFormatter": "redhat.java"
},
"[xml]": {
"editor.defaultFormatter": "DotJoshJohnson.xml"
},
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 2000,
// 优化Java包的导入顺序
"java.format.comments.enabled": true,
"java.completion.importOrder": [
"#", // 第1组:所有静态导入 (import static ...)
"java", // 第2组:java.* 包
"javax", // 第3组:javax.* 包
"" // 第4组:所有其他非静态导入
],
"notebook.defaultFormatter": "esbenp.prettier-vscode",
"notebook.formatOnSave.enabled": true,
"notebook.codeActionsOnSave": {
"source.organizeImports": "explicit" // 每次保存时手动优化导入
},
// ===========================================
// Java设置
// ===========================================
"security.workspace.trust.emptyWindow": false,
"security.workspace.trust.enabled": false,
"security.workspace.trust.untrustedFiles": "open",
"spring.initializr.defaultLanguage": "Java",
"spring.initializr.defaultPackaging": "JAR",
"spring.initializr.defaultJavaVersion": "11",
"redhat.telemetry.enabled": true,
"java.help.collectErrorLog": true,
/*
【参数说明】侧边栏展示Java包的层级式结构
"hierarchical":展示包的层级式结构。
示例:依赖包会按照 包名的层级式结构 展开显示(比如 com.example.utils 会拆分为 com → example → utils 三级目录),和你自己写的 Java 代码包结构展示方式一致,符合日常看代码的习惯。
"flat":展示包的扁平化结构。
示例:依赖包会直接以完整包名作为一个整体显示(比如 com.example.utils 是一个单独的节点,不会分层),适合依赖包较少、想快速定位完整包名的场景。
*/
"java.dependency.packagePresentation": "hierarchical",
// 解决@SpringBootTest中文乱码问题
"java.test.config": {
"vmArgs": ["-Dfile.encoding=UTF-8", "-Dconsole.encoding=UTF-8", "-Dstdout.encoding=UTF-8"]
},
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx2G -Xms100m -Xlog:disable -javaagent:\"c:\\Users\\AlbertWen\\.trae-cn\\extensions\\gabrielbb.vscode-lombok-1.0.1-universal\\server\\lombok.jar\"",
// ===========================================
// Maven设置
// ===========================================
// 当检测pom.xml文件发生变化时,编辑器会自动更新项目的类路径和配置
"java.configuration.updateBuildConfiguration": "automatic",
"java.configuration.maven.globalSettings": "D:/www/java/maven/conf/settings.xml",
"maven.settingsFile": "D:/www/java/maven/conf/settings.xml",
"java.autobuild.enabled": true, // 启用Java自动构建
// ===========================================
// Git设置
// ===========================================
"git.autofetch": true,
"git.suggestSmartCommit": false,
"git.confirmSync": false,
/*
【参数说明】始终在父文件夹中打开Git仓库
"always":总是向上查找并打开上级的 Git 仓库。
示例:若你的 Git 仓库根目录是 ~/project/,而你打开的是 ~/project/src/,VS Code 会自动识别并将 ~/project/ 作为 Git 仓库加载,你在 src/ 下的操作仍能正常使用 Git 功能(提交、拉取、分支等)。
"never":从不向上查找,仅将你打开的文件夹作为独立目录处理。
示例:打开 ~/project/src/ 时,VS Code 会认为这是一个无 Git 仓库的普通文件夹,无法使用 Git 相关功能,除非 src/ 本身是 Git 根目录。
*/
"git.openRepositoryInParentFolders": "always",
// ===========================================
// 终端设置
// ===========================================
"terminal.integrated.fontSize": 16, // 终端字体大小
"terminal.integrated.sendKeybindingsToShell": true, // 启用将按键绑定发送到shell
// "terminal.external.windowsExec": "d:\\software\\Git\\bin\\bash.exe", // 配置Git Bash为外部终端
// "terminal.integrated.defaultProfile.windows": "Git Bash", // 默认终端配置为Git Bash
"terminal.external.windowsExec": "PowerShell",
"terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.copyOnSelection": true, // 启用复制选中文本
"terminal.integrated.cursorBlinking": true, // 启用光标闪烁
"terminal.integrated.cwd": "${fileDirname}", // 终端初始目录设置为当前文件所在目录
"terminal.integrated.enableMultiLinePasteWarning": "never",
"debug.console.wordWrap": false, // 禁用“调试控制台”的自动换行
// 文件默认编码
"files.encoding": "utf8",
"files.autoGuessEncoding": true,
// Windows系统额外配置(解决CMD/PowerShell/Bash编码问题)
"terminal.integrated.env.windows": {
"LC_ALL": "zh_CN.UTF-8",
"LANG": "zh_CN.UTF-8"
},
"terminal.integrated.profiles.windows": {
"Command Prompt": {
"path": "cmd.exe",
"args": ["/K", "chcp 65001"] // 强制设置cmd编码为UTF-8
},
"PowerShell": {
"source": "PowerShell",
"args": [
"-NoExit",
"-Command",
"chcp 65001; $Host.UI.RawUI.BufferSize = New-Object System.Management.Automation.Host.Size(9999, 9999); $Host.UI.RawUI.WindowSize = New-Object System.Management.Automation.Host.Size(9999, 9999)"
]
},
"Git Bash": {
"path": "d:\\software\\Git\\bin\\bash.exe",
"args": ["--login", "-i"],
"env": {
"LC_ALL": "zh_CN.UTF-8",
"LANG": "zh_CN.UTF-8"
}
}
},
// ===========================================
// Vite设置
// ===========================================
"vite.autoStart": false, // 不自动启动Vite
"vite.browserType": "system", // 使用系统默认浏览器
// ===========================================
// Python设置
// ===========================================
"python.defaultInterpreterPath": "D:\\www\\python\\Python-3.10\\python.exe",
"isort.args": ["--profile", "black"],
// ===========================================
// AI插件设置
// ===========================================
"claudeCode.preferredLocation": "panel",
"AI.toolcall.v2.command.allowList": "[\"pip\",\"python\"]"
}
setting.json设置备份 —— Mac版
{
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"git.autofetch": true,
"git.confirmSync": false,
"git.openRepositoryInParentFolders": "never",
"git.suggestSmartCommit": false,
"window.openFoldersInNewWindow": "on",
"breadcrumbs.enabled": true,
"chat.commandCenter.enabled": false,
"diffEditor.hideUnchangedRegions.enabled": true,
"diffEditor.ignoreTrimWhitespace": false,
"explorer.confirmDelete": false,
"extensions.ignoreRecommendations": true,
"prettier.tabWidth": 4,
// =================================
// Java开发
// =================================
"security.workspace.trust.emptyWindow": false,
"security.workspace.trust.enabled": false,
"security.workspace.trust.untrustedFiles": "open",
"spring.initializr.defaultLanguage": "Java",
"spring.initializr.defaultPackaging": "JAR",
"boot-java.rewrite.reconcile": true,
"java.help.collectErrorLog": true,
// 指定OpenJDK版本
"java.configuration.runtimes": [
{
"name": "JavaSE-21",
"path": "/Applications/jdk-21.0.10+7/Contents/Home",
"default": true
}
],
// Jar包运行参数
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx2G -Xms100m -Xlog:disable -javaagent:\"/Users/AlbertWen/.trae-cn/extensions/gabrielbb.vscode-lombok-1.0.1-universal/server/lombok.jar\"",
// =================================
// 工作区设置
// =================================
"workbench.colorTheme": "Visual Studio Light",
"workbench.productIconTheme": "jetbrains-idea-product-icon-theme",
"workbench.tree.indent": 24,
"workbench.layoutControl.enabled": false,
"workbench.tree.enableStickyScroll": false,
"workbench.settings.applyToAllProfiles": [
"prettier.tabWidth",
"path-autocomplete.includeExtension",
"files.autoSave"
],
"workbench.startupEditor": "none",
// 加点背景透明度,字体显示的更加清晰
"custom-ui-style.background.opacity": 0.9,
"custom-ui-style.stylesheet": {
// 设置界面字体大小
".monaco-workbench .part>.content": {
"font-size": "15px !important"
},
// 显示侧边栏滚动条(没起作用)
".monaco-workbench .part.sidebar > .content": {
"overflow-x": "auto !important"
}
},
// 豆绿色(护眼绿)背景
// 经典护眼绿:#C7EDCC,浅豆绿:#CCE8CF,偏黄豆绿:#D4ECD6,淡绿:#E8F5E9
"workbench.colorCustomizations": {
// "editor.background": "#C7EDCC", // 编辑器主背景(经典护眼豆绿)
// "sideBar.background": "#E8F5E9", // 侧边栏背景(浅一点的绿)
// "activityBar.background": "#A5D6A7", // 左侧活动栏背景
// "tab.activeBackground": "#C8E6C9", // 激活标签页背景
// "tab.inactiveBackground": "#E8F5E9", // 未激活标签页背景
"tab.activeBackground": "#D4ECD6", // 激活标签页背景
"editorCursor.foreground": "#FF0000" // 设置光标颜色为红色
},
// =================================
// 编辑器设置
// =================================
"editor.fontSize": 16,
"editor.fontFamily": "'YaHei Consolas Hybrid',Consolas, 'Courier New', monospace",
"editor.indentSize": "tabSize",
"editor.tabCompletion": "on",
"editor.detectIndentation": false,
"editor.accessibilitySupport": "off",
"editor.stickyScroll.enabled": false,
"editor.stickyScroll.scrollWithEditor": false,
"editor.scrollbar.horizontalScrollbarSize": 18,
"editor.scrollbar.verticalScrollbarSize": 18,
"editor.occurrencesHighlight": "off",
"editor.unicodeHighlight.ambiguousCharacters": false,
"editor.mouseWheelZoom": true,
// 光标样式:line(默认)、block、underline
"editor.cursorStyle": "line",
// 线状光标宽度(仅 line/underline 有效)
"editor.cursorWidth": 2,
// 光标闪烁:blink、smooth、phase、solid
"editor.cursorBlinking": "blink",
// =================================
// 自动保存+格式化代码+优化导入
// =================================
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000,
"editor.formatOnSave": true,
"java.saveActions.organizeImports": true,
"java.format.comments.enabled": true,
"java.completion.importOrder": [
"#", // 第1组:所有静态导入 (import static ...)
"java", // 第2组:java.* 包
"javax", // 第3组:javax.* 包
"" // 第4组:所有其他非静态导入
],
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit" // 优化导入
},
"notebook.formatOnSave.enabled": true,
"notebook.codeActionsOnSave": {
"source.organizeImports": "explicit" // 优化导入
},
"editor.codeActions.triggerOnFocusChange": true,
// =================================
// 设置Maven配置文件路径
// =================================
"java.configuration.maven.globalSettings": "/Users/AlbertWen/www/maven/conf/settings.xml",
"maven.settingsFile": "/Users/AlbertWen/www/maven/conf/settings.xml",
"maven.excludedFolders": [
"**/.*",
"**/node_modules",
"**/target",
"**/bin",
"**/archetype-resources"
],
"maven.pomfile.autoUpdateEffectivePOM": true,
// =================================
// 设置终端
// =================================
"terminal.integrated.fontSize": 15, // 终端字体大小
"terminal.integrated.sendKeybindingsToShell": true, // 启用将按键绑定发送到shell
"terminal.integrated.copyOnSelection": true, // 启用复制选中文本
"terminal.integrated.cursorBlinking": true, // 启用光标闪烁
"terminal.integrated.cwd": "${fileDirname}" // 终端初始目录设置为当前文件所在目录
}
参考文章: