插件
主题与外观
| 扩展 ID | 说明 |
|---|
| endormi.2077-theme | 2077 主题 |
| pkief.material-icon-theme | Material 文件图标 |
| vscode-icons-team.vscode-icons | 另一套文件图标 |
| shalldie.background | 编辑器背景图 |
| ms-ceintl.vscode-language-pack-zh-hans | 中文语言包 |
Java / Spring
| 扩展 ID | 说明 |
|---|
| redhat.java | Java 语言支持 |
| vscjava.vscode-java-pack | Java 扩展包 |
| vscjava.vscode-java-debug | Java 调试 |
| vscjava.vscode-java-test | Java 测试 |
| vscjava.vscode-maven | Maven |
| vscjava.vscode-gradle | Gradle |
| vscjava.vscode-java-dependency | 依赖查看 |
| vscjava.vscode-spring-boot-dashboard | Spring Boot 面板 |
| vscjava.vscode-spring-initializr | Spring 初始化 |
| vmware.vscode-spring-boot | Spring Boot |
| vmware.vscode-boot-dev-pack | Boot Dev Pack |
| redhat.vscode-xml | XML 支持 |
Python
| 扩展 ID | 说明 |
|---|
| ms-python.python | Python |
| ms-python.vscode-pylance | Pylance |
| ms-python.debugpy | 调试 |
| ms-python.autopep8 | 格式化 autopep8 |
| ms-python.pylint | Pylint |
| anysphere.cursorpyright | Cursor Pyright |
| anysphere.pyright | Pyright |
| eeyore.yapf | YAPF 格式化 |
| kevinrose.vsc-python-indent | Python 缩进 |
Vue / 前端
| 扩展 ID | 说明 |
|---|
| vue.volar | Volar (Vue 3) |
| octref.vetur | Vetur (Vue 2) |
| ecmel.vscode-html-css | HTML CSS 支持 |
| zignd.html-css-class-completion | HTML/CSS 类名补全 |
| formulahendry.auto-close-tag | 自动闭合标签 |
| formulahendry.auto-rename-tag | 自动重命名标签 |
| vincaslt.highlight-matching-tag | 高亮匹配标签 |
| thekalinga.bootstrap4-vscode | Bootstrap 4 |
| wcwhitehead.bootstrap-3-snippets | Bootstrap 3 片段 |
| mrcrowl.easy-less | Less |
| sysoev.language-stylus | Stylus 语法 |
| thisismanta.stylus-supremacy | Stylus 格式化 |
| stylelint.vscode-stylelint | Stylelint |
JavaScript / TypeScript
| 扩展 ID | 说明 |
|---|
| dbaeumer.vscode-eslint | ESLint |
| esbenp.prettier-vscode | Prettier |
| ajhyndman.jslint | JSLint |
| xabikos.javascriptsnippets | JS 片段 |
| wix.vscode-import-cost | 显示 import 体积 |
Git
| 扩展 ID | 说明 |
|---|
| eamodio.gitlens | GitLens |
| mhutchie.git-graph | Git Graph |
| donjayamanne.githistory | Git History |
Markdown
| 扩展 ID | 说明 |
|---|
| yzhang.markdown-all-in-one | Markdown All in One |
| shd101wyy.markdown-preview-enhanced | 增强预览 |
| davidanson.vscode-markdownlint | Markdown 语法检查 |
调试 / 浏览器
| 扩展 ID | 说明 |
|---|
| msjsdiag.debugger-for-chrome | Chrome 调试 |
| ritwickdey.liveserver | Live Server |
| techer.open-in-browser | 在浏览器中打开 |
| auchenberg.vscode-browser-preview | 内置浏览器预览 |
效率与工具
| 扩展 ID | 说明 |
|---|
| christian-kohler.path-intellisense | 路径补全 |
| gruntfuggly.todo-tree | TODO 高亮 |
| wayou.vscode-todo-highlight | Todo 高亮 |
| hediet.vscode-drawio | Draw.io 绘图 |
| kisstkondoros.vscode-gutter-preview | 行内图片预览 |
| naumovs.color-highlight | 颜色高亮 |
| oderwat.indent-rainbow | 缩进彩虹 |
| coenraads.bracket-pair-colorizer-2 | 括号配对着色 |
| chakrounanas.turbo-console-log | 快速 console.log |
| streetsidesoftware.code-spell-checker | 拼写检查 |
| aaron-bond.better-comments | 注释高亮 |
| k--kato.intellij-idea-keybindings | IDEA 快捷键 |
| alefragnani.project-manager | 项目管理 |
| hookyqr.beautify | 代码美化 |
| michelemelluso.code-beautifier | 另一款美化 |
| vscode-snippet.snippet | 代码片段 |
| tomoki1207.pdf | PDF 预览 |
| leetcode.vscode-leetcode | LeetCode |
| lokalise.i18n-ally | 国际化 i18n |
| mechatroner.rainbow-csv | CSV 高亮 |
| visualstudioexptteam.vscodeintellicode | IntelliCode |
| visualstudioexptteam.intellicode-api-usage-examples | API 示例 |
| shan.code-settings-sync | 设置同步 |
| ms-vscode.cmake-tools | CMake |
settings.json
{
// ----- 通用 -----
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000,
"problems.decorations.enabled": false,
"problems.showCurrentInStatus": false,
"editor.unusedImports.severity": "ignore",
"editor.showUnused": false,
"diffEditor.ignoreTrimWhitespace": false,
"database-client.autoSync": true,
"update.enableWindowsBackgroundUpdates": false,
"update.mode": "none",
"http.proxyAuthorization": null,
"json.schemas": [],
"cursor.general.disableHttp2": true,
"cursor.general.disableHttp1SSE": true,
// ----- Java -----
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx16G -Xms2G -Xlog:disable",
"maven.view": "hierarchical",
"java.debug.settings.onBuildFailureProceed": true,
"java.autobuild.enabled": false,
"java.debug.settings.forceBuildBeforeLaunch": false,
"java.debug.settings.hotCodeReplace": "auto",
"java.compile.onSave": true,
"java.compile.nullAnalysis.mode": "disabled",
"java.dependency.packagePresentation": "hierarchical",
// ----- Python -----
"python.defaultInterpreterPath": "python3",
"python.analysis.typeCheckingMode": "basic",
"python.analysis.autoImportCompletions": true,
"python.formatting.provider": "none",
"[python]": {
"editor.defaultFormatter": "ms-python.python",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
}
},
"python.testing.pytestEnabled": true,
"python.testing.unittestEnabled": false,
// ----- Vue3 -----
"vue.inlayHints.missingProps": true,
"vue.server.hybridMode": true,
"[vue]": {
"editor.defaultFormatter": "Vue.volar",
"editor.formatOnSave": true
},
"volar.takeOverMode.enabled": false,
// ----- JavaScript / TypeScript -----
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features",
"editor.formatOnSave": true
},
"[javascriptreact]": {
"editor.defaultFormatter": "vscode.typescript-language-features",
"editor.formatOnSave": true
},
"[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features",
"editor.formatOnSave": true
},
"[typescriptreact]": {
"editor.defaultFormatter": "vscode.typescript-language-features",
"editor.formatOnSave": true
},
// ----- HTML -----
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features",
"editor.formatOnSave": true
},
"html.format.wrapLineLength": 120,
"emmet.includeLanguages": {
"vue-html": "html",
"javascript": "javascriptreact",
"vue": "html"
},
// ----- Peek 视图颜色 -----
"workbench.colorCustomizations": {
"peekView.border": "#FF0000",
"peekViewEditor.background": "#330099",
"peekViewResult.background": "#3300CC",
"peekViewTitle.background": "#FF0000"
},
"workbench.colorTheme": "2077",
// 是否开启背景图显示
"background.enabled": true,
// true-显示默认的图片 false-显示用户自定义的图片
"background.useDefault": false,
// 最多设置三张图片,默认显示最上方的图片,当打开多个侧边栏时再依次显示后面的背景图片
"background.customImages": [
"/Users/cardloan/Documents/cursor_bg/3.jpg",
"/Users/cardloan/Documents/cursor_bg/2.jpg",
"/Users/cardloan/Documents/cursor_bg/1.png"
],
// CSS显示样式设置
"background.style": {
"content": "''",
"pointer-events": "none",
"top": "0",
"left": "0",
"width": "100%",
"height": "100%",
"z-index": "99999",
"background.repeat": "no-repeat",
"background-size": "cover",
// 设置透明度
"opacity": 0.1
},
"editor.minimap.enabled": false,
"sync.gist": "7c71a865a859f2c9a5724aa2472d2d41",
// ----- ESLint -----
"eslint.enable": true,
"eslint.format.enable": true,
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"vue",
"html"
],
// ----- Prettier(与各语言 defaultFormatter 配合)-----
"prettier.enable": true,
// ----- Stylelint -----
"stylelint.enable": true,
"stylelint.validate": ["css", "less", "scss", "sass", "vue", "postcss"],
// ----- Markdown -----
"markdown.preview.breakOnSingleNewline": true,
"markdownlint.config": {},
// ----- 拼写检查 code-spell-checker -----
"cSpell.enabled": true,
"cSpell.enableFiletypes": ["markdown", "plaintext"],
// ----- GitLens(可选)-----
"gitlens.codeLens.enabled": true,
"gitlens.currentLine.enabled": true,
// ----- LeetCode -----
"leetcode.endpoint": "leetcode-cn",
"leetcode.defaultLanguage": "python",
// ----- i18n-ally -----
"i18n-ally.localesPaths": ["locales", "src/locales", "src/assets/locales"],
"i18n-ally.keystyle": "nested",
// ----- Todo Tree / Todo Highlight -----
"todo-tree.general.tags": ["TODO", "FIXME", "XXX", "HACK"],
"todohighlight.isEnable": true
}
Comments | NOTHING