跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaAIjava

VS Code Java 开发环境搭建与 AI 辅助实战指南

在 Windows 环境下使用 VS Code 进行 Java 开发的完整配置流程。涵盖开发者模式开启、Git Bash、多版本 JDK 管理(软链接切换)、Maven 安装及环境变量配置。详细列出了推荐的 VS Code 插件清单及其功能说明,包括通用工具、Git 管理、Java 核心、前端支持等。提供了详细的用户级设置 JSON 配置示例,涉及编辑器、终端、Java 构建、调试及 AI 助手设置。此外还包含项目导入、工程创建、调试运行、单元测试及常用快捷键速查表,并附带常见问题排查方案,旨在帮助开发者建立统一、高效的 Java 开发工作空间。

ByteFlow发布于 2026/4/6更新于 2026/9/1075 浏览

VS Code / Lingma AI IDE Java 开发攻略手册

一、IDE 介绍

VSCode 崛起后,Java 开发生态迅速成熟,尤其是 AI IDE 的出现,使得 VSCode 成为 Java 开发的主流选择之一。 目前市面上大部分 AI IDE(Cursor、Lingma、Antigravity、TRAE 等)均基于 VSCode 开源框架构建。

优势:

  • 插件生态丰富
  • 配置灵活
  • 轻量、跨平台
  • AI 能力强(尤其是 Lingma / Cursor)
  • 与 Git、Maven、Spring Boot 深度集成

下表为主流 AI IDE 对比:

名称出品亮点缺点模型
Lingma AI IDE阿里与通义 Qianwen 系列紧密集成、企业级 AI 编程体验市场资源较新,资料较少通义 Qianwen(Qwen3 等)为主模型
CursorAnysphere深度理解整个代码库、支持多任务 Agent & Composer 模式高阶功能付费、有用户反馈稳定性/bug 争议自研 Tab 模型 + 支持 GPT、Claude 等多模型
Antigravity IDEGoogle真正的 Agent-First 开发、多 Agent 协作、浏览器/终端自动执行仍处于预览期,部分功能体验不完善以 Gemini 3 Pro 为核心,多模型切换支持
CodeBuddy IDE腾讯中文深度本地化、支持多 IDE 集成、设计→代码转换功能依赖邀请码/模型生态成熟度待提升DeepSeek-V3 模型驱动智能补全/生成
TRAE字节跳动中文优化、免费策略、AI 任务执行 & 聊天式协作有遥测/隐私争议,生态成熟度有待提高多大模型接入(GPT-4、Claude Sonnet、DeepSeek 系列等)
QoderBright Zenith代理式任务模式(Quest)、RepoWiki 自动文档市场新、模型细节不完全公开、稳定性评价不一支持 Claude、GPT、Gemini 等前沿模型
Theia IDEEclipse 基金会开源可扩展,支持 VS Code 生态插件AI 功能仍在发展中,需要配置可接入多种 LLM

本手册以 Lingma AI IDE(阿里出品,集成通义千问 Qwen) 为例,但配置适用于标准 VS Code。


二、基础配置

开发 java 工程,必配的组件要有:Git Bash,Java jdk, Maven,下面将介绍如何安装配置这些组件。

2.1 启用【开发者模式】

默认情况下,Windows 创建软链接需要管理员权限。

开启 windows 系统 开发者模式 后,可避免每次都'以管理员身份运行'。

操作路径:

  1. Win + I → 打开 设置
  2. 系统 → 开发者选项
  3. 打开 开发者模式(Developer Mode)

开启后,普通权限下的 Git Bash 也可正常执行 ln -s

2.2 安装 Git Bash

Git Bash 提供类 Linux / Unix 的命令行能力,是本方案执行脚本的基础环境。

  • 官网地址:https://git-scm.com/
  • 安装目录建议直接放在 D 盘根目录,例如:D:/Git
  • 关键组件:安装时确保勾选 'Git Bash Here' 和 'Use Git from Git Bash only'(避免与 Windows CMD 产生路径冲突)。
  • 安装完成后,确保可以正常打开 Git Bash
2.3 配置 java

在日常开发中,往往同时维护多个项目:

  • 老项目仍停留在 JDK 8
  • 新项目已升级到 JDK 17 / 21 / 25

而 Windows 系统层面,JAVA_HOME只能指向一个 JDK,频繁手动切换不仅低效,也极易引发环境混乱。

本文以 Windows 11 为例,在已安装 JDK 1.8 / 17 / 21 / 25 的前提下,构建一套 一次配置,终身一键切换 的 JDK 管理方案。

  1. 规范 java 目录结构建议在 非系统盘(如 D 盘) 统一管理 JDK:D:\jdk 目录规划说明:⚠️ 注意:
    • 版本目录:每个 JDK 一个独立目录
    • 虚拟入口:default 用作软链接入口
  • 如果你之前手动创建过 D:\jdk\default 文件夹,请先删除
  • 该目录将由脚本自动创建为 软链接
  • 下载对应版本的 .zip 压缩包
  • 解压至 D:\jdk\ 目录

jdk 快捷切换验证打开 Git Bash 终端,依次参照下方操作,显示出对应 jdk 版本号即表示配置 ok

jdk8 

java version '1.8.0_471'
Java™ SE Runtime Environment (build 1.8.0_471-b09)
Java HotSpot™ 64-Bit Server VM (build 25.471-b09, mixed mode)

jdk17 

java version '17.0.17' 2025-10-21 LTS
Java™ SE Runtime Environment (build 17.0.17+8-LTS-360)
Java HotSpot™ 64-Bit Server VM (build 17.0.17+8-LTS-360, mixed mode, sharing)

jdk21 

java version '21.0.9' 2025-10-21 LTS
Java™ SE Runtime Environment (build 21.0.9+7-LTS-338)
Java HotSpot™ 64-Bit Server VM (build 21.0.9+7-LTS-338, mixed mode, sharing)

jdk25 

java version '25.0.1' 2025-10-21 LTS
Java™ SE Runtime Environment (build 25.0.1+8-LTS-27)
Java HotSpot™ 64-Bit Server VM (build 25.0.1+8-LTS-27, mixed mode, sharing)

配置 JDK 快捷切换命令编辑 .bashrc``.bashrc 位于当前用户主目录,用于定义终端启动时加载的命令与别名。

例如 windows 账号为 vincent,则这个在 C:/Users/vincent/.bashrc

操作步骤:

cd ~ vi .bashrc 

或:

notepad .bashrc 

alias 配置

# 允许 Git Bash 创建原生 Windows 软链接exportMSYS="winsymlinks:nativestrict"# 默认软链接入口exportJDK_DEFAULT="/d/jdk/default"# JDK 路径exportJDK8_PATH="/d/jdk/jdk1.8.0_471"exportJDK17_PATH="/d/jdk/jdk-17.0.17"exportJDK21_PATH="/d/jdk/jdk-21.0.9"exportJDK25_PATH="/d/jdk/jdk-25.0.1"# 切换命令封装 (在 Git Bash 执行)aliasjdk8="rm $JDK_DEFAULT && ln -s $JDK8_PATH$JDK_DEFAULT && java -version"aliasjdk17="rm $JDK_DEFAULT && ln -s $JDK17_PATH$JDK_DEFAULT && java -version"aliasjdk21="rm $JDK_DEFAULT && ln -s $JDK21_PATH$JDK_DEFAULT && java -version"aliasjdk25="rm $JDK_DEFAULT && ln -s $JDK25_PATH$JDK_DEFAULT && java -version"

保存后执行:

source ~/.bashrc 

JDK 安装说明下载渠道

类型推荐源说明
官方归档Oracle JDK Archive需 Oracle 账号,版本最全
国内镜像INJDK 导航站免登录,速度快,含多厂商发行版

安装要求强烈建议使用压缩包版(zip)而非安装程序(exe):形成如下目录结构:

D:\jdk\jdk1.8.0_471 D:\jdk\jdk-17.0.17 D:\jdk\jdk-21.0.9 D:\jdk\jdk-25.0.1 

java 环境变量配置路径:Win + I → 系统 → 高级系统设置 → 环境变量

变量名变量值类型
JAVA_HOMED:\jdk\default用户/系统变量
CLASSPATH.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;系统变量
Path追加%JAVA_HOME%\bin系统变量(置顶)

⚠️ 重要:

JAVA_HOME 必须指向 default 目录,而非具体版本目录。

CLASSPATH(兼容 JDK 8,JDK 9+ 实际已不再依赖)

将 %JAVA_HOME%\bin 添加到 Path 列表,并上移至第一行(防止系统自带路径干扰)。

2.4 配置 maven

这里以 apache maven 3.6.3 为版本,解压部署至 D 盘根目录下:
D:\apache-maven-3.6.3

验证 maven打开 Git Bash 终端窗口,输入查看版本命令:

mvn -v 

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: D:\apache-maven-3.6.3
Java version: 1.8.0_471, vendor: Oracle Corporation, runtime: D:\jdk\default\jre
Default locale: zh_CN, platform encoding: GBK
OS name: 'windows 11', version: '10.0', arch: 'amd64', family: 'windows'

maven 环境变量配置路径:Win + I → 系统 → 高级系统设置 → 环境变量

变量名变量值类型
MAVEN_HOMED:\apache-maven-3.6.3用户/系统变量
Path追加%MAVEN_HOME%\bin系统变量(置顶)

三、安装 IDE

访问官网下载安装,再注册进行登录。

【必装插件】
  • streetsidesoftware.code-spell-checker
  • gruntfuggly.todo-tree
  • usernamehw.errorlens
  • sandipchitale.vscode-fqn
  • eamodio.gitlens
  • donjayamanne.githistory
  • vscjava.vscode-java-pack
  • vmware.vscode-boot-dev-pack
  • yangbaopan.vscode-java-ibatisx
  • redhat.fabric8-analytics
  • misterj.vue-volar-extention-pack
  • ecmel.vscode-html-css
  • redhat.vscode-yaml
  • redhat.vscode-xml
  • dotjoshjohnson.xml
3.1 插件介绍
3.1.1 通用效率/辅助工具
  • streetsidesoftware.code-spell-checker
    Code Spell Checker: 代码与注释中的英文拼写检查,避免一些命名拼写错误。
  • gruntfuggly.todo-tree
    Todo Tree: 扫描 TODO / FIXME / NOTE 注释并以树形结构展示
  • usernamehw.errorlens
    Error Lens: 将编译/诊断错误直接显示在代码行内
  • sandipchitale.vscode-fqnVSCode Copy fully qualified name of thing at editor cursor: 复制 Java(或其他语言)类的全限定名(Fully Qualified Name, FQN)的插件
  • shardulm94.trailing-spaces
    Trailing Spaces: 高亮显示行尾多余空格
  • yatki.vscode-surround
    Surround: 快捷键包裹代码(括号、引号、标签等)
  • pkief.material-icon-theme
    Material Icon Theme: 文件/目录图标增强,提高项目结构可读性
  • anweber.reveal-buttonReveal Button: 在编辑器顶部添加一个按钮,一键在资源管理器中定位当前文件(Reveal in Explorer)
3.1.2 Git / 版本管理
  • eamodio.gitlens
    GitLens — Git supercharged: Git 增强,行级 blame、提交历史、作者信息、代码追溯
  • donjayamanne.githistory
    Git History: Git 提交历史可视化查看(文件/分支历史)
3.1.3 Java
  • vscjava.vscode-java-pack
    Extension Pack for Java: Java 开发插件包,包含:
    • redhat.java
      Language Support for Java™ by Red Hat: Java 语言服务器(语法分析、补全、重构、诊断核心)
    • vscjava.vscode-java-debug
      Debugger for Java: Java 应用调试支持(断点、变量、调用栈)
    • vscjava.vscode-java-test
      JUnit / TestNG 测试运行与调试
    • vscjava.vscode-maven
      Test Runner for Java: Maven 项目支持(生命周期、依赖、目标执行)
    • vscjava.vscode-gradle
      Gradle for Java: Gradle 项目支持(任务执行、依赖查看)
    • vscjava.vscode-java-dependency
      Project Manager for Java: Java 项目依赖关系与类路径可视化
  • vmware.vscode-boot-dev-pack
    Spring Boot Extension Pack: Springboot 开发插件包,包含:
    • vmware.vscode-spring-boot
      Spring Boot Tools: Spring Boot 开发支持(配置提示、诊断、导航)
    • vscjava.vscode-spring-boot-dashboard
      Spring Boot Dashboard: Spring Boot 应用启动与管理面板
    • vscjava.vscode-spring-initializr
      Spring Initializr Java Support: 使用 Spring Initializr 创建新项目
  • yangbaopan.vscode-java-ibatisx
    Super Mybatis: MyBatis / iBatis XML 映射文件辅助(跳转、补全)
  • redhat.fabric8-analyticsRed Hat Dependency Analytics: 依赖安全与许可证分析插件
3.1.4 前端
  • misterj.vue-volar-extention-pack
    Vue Extension Box: Vue 前端开发插件包,包含:
    • vue.volar
      Vue (Official): Vue 3 官方语言服务(TypeScript、模板类型推断、诊断)
    • christian-kohler.path-intellisense
      Path Intellisense: 文件路径自动补全。
    • formulahendry.auto-close-tag
      Auto Close Tag: 自动闭合标签。
    • formulahendry.auto-rename-tag
      Auto Rename Tag: 同步修改成对标签。
    • ms-vscode.vscode-typescript-tslint-plugin
      TSLint
      : TypeScript 项目中的 TSLint 规则检查(已不推荐安装)。
    • syler.sass-indented
      Sass (.sass only): Sass(缩进语法)支持。
    • sibiraj-s.vscode-scss-formatter
      SCSS Formatter: SCSS 格式化。
    • esbenp.prettier-vscode
      Prettier - Code formatter: 主格式化工具。
  • ecmel.vscode-html-css
    HTML CSS Support: HTML 中 class / id 对应 CSS 的自动补全
3.1.5 Markdown / 文档
  • yzhang.markdown-all-in-one
    Markdown All in One: Markdown 编辑增强(快捷键、目录、预览)
  • davidanson.vscode-markdownlint
    markdownlint: Markdown 语法与风格规范校验
  • shd101wyy.markdown-preview-enhanced
    Markdown Preview Enhanced: 高级 Markdown 预览(图表、公式、流程图)
3.1.6 其他语言
  • redhat.vscode-yaml
    YAML: YAML 语言支持(Kubernetes / CI / 配置文件)
  • redhat.vscode-xml
    XML: XML 语言支持(校验、补全、格式化)
  • dotjoshjohnson.xmlXML Tools:XML 语言支持(校验、补全、格式化,重点是对 Mybatis xml 中的 sql 格式化友好)
  • eriklynd.json-tools
    JSON Tools: JSON 格式化、压缩、排序等工具
  • quicktype.quicktype
    Paste JSON as Code: 根据 JSON 结构生成 TypeScript / Java 等对象
  • mechatroner.rainbow-csv
    Rainbow CSV: CSV 文件按列着色显示,便于阅读
3.2 给插件映射快捷键
  • VSCode Copy fully qualified name of thing at editor cursor 映射快捷键:
    • 选中类名时,能快速复制当前类名的全路径;
    • 打开快捷键设置:Ctrl + K → Ctrl + S
    • 搜索:Copy Fully Qualified Name

直接绑定快捷键,例如:

Ctrl + Alt + Shift + C 

四、配置 IDE

核心配置:

在 Lingma AI IDE 中,全局配置会对每一个工作区和项目进行生效。

打开 Lingma AI IDE 后,按下 Ctrl + Shift + P 输入 Preferences: Open User Settings (JSON),添加以下内容:

{/* ================================================================= 核心编辑器与工作台配置 (Workbench & Editor) 包含:字体、编码、文件关联、标尺、颜色微调等 ================================================================= */// 文件图标主题"workbench.iconTheme":"material-icon-theme",// 显示缩略图"editor.minimap.enabled":true,// 编辑器字体大小"editor.fontSize":13,// 编辑器字体家族 (MesloLGS NF 通常用于终端图标支持)"editor.fontFamily":"MesloLGS NF",// 多光标修改的限制数量"editor.multiCursorLimit":100000,// 启用链接编辑(修改标签头自动修改标签尾)"editor.linkedEditing":true,// 自动猜测文件编码"files.autoGuessEncoding":true,// 默认换行符 (LF)"files.eol":"\n",// 禁用保存时自动格式化"editor.formatOnSave":false,// 禁用键入时自动格式化"editor.formatOnType":false,// 禁用粘贴时自动格式化"editor.formatOnPaste":false,// 仅保留基础括号对齐,防止查找替换时大幅度缩进抖动"editor.autoIndent":"brackets",// 禁用自动检测缩进,强制使用本项目定义的 tabSize"editor.detectIndentation":false,// 缩进空格数"editor.tabSize":4,// 使用空格代替 Tab"editor.insertSpaces":true,// 保存时'自动导包'"editor.codeActionsOnSave":{"source.organizeImports":"explicit"},// 文件编码统一 UTF-8"files.encoding":"utf8",// 编辑器垂直标尺(辅助线),用于代码宽度参考"editor.rulers":[{"column":80,"color":"#00FF0010",// 80 字符处,淡绿色{"column":100,"color":"#BDB76B15",// 100 字符处,卡其色{"column":120,"color":"#FA807219"}// 120 字符处,鲑鱼红],/* ================================================================= 终端与 Shell 环境 (Terminal) 包含:默认 Shell、多 JDK 环境变量、自定义终端 Profile ================================================================= */// Windows 下默认终端使用 Git Bash"terminal.integrated.defaultProfile.windows":"Git Bash",// 始终显示终端标签页"terminal.integrated.tabs.hideCondition":"never",// 增加终端滚动缓冲区"terminal.integrated.scrollback":100000,// 自动化任务使用的终端 Profile"terminal.integrated.automationProfile.windows":{"path":"cmd"},// 终端通用环境变量(默认 JDK 路径)"terminal.integrated.env.windows":{"JAVA_HOME":"D:\\jdk\\default","PATH":"D:\\jdk\\default\\bin;${env:PATH}"},// 定义各个终端 Profile 详情"terminal.integrated.profiles.windows":{"Git Bash":{"path":"D:\\Git\\bin\\bash.exe","args":["--login","-i"]},"PowerShell":{"source":"PowerShell","icon":"terminal-powershell"},"Command Prompt":{"path":["${env:windir}\\Sysnative\\cmd.exe","${env:windir}\\System32\\cmd.exe"],"args":[],"icon":"terminal-cmd"},// --- 特定 Java 版本终端 ---"JavaSE-1.8 LTS":{"overrideName":true,"env":{"PATH":"D:\\jdk\\jdk1.8.0_471\\bin;${env:PATH}","JAVA_HOME":"D:\\jdk\\jdk1.8.0_471"},"path":"cmd"},"JavaSE-17 LTS":{"overrideName":true,"env":{"PATH":"D:\\jdk\\jdk-17.0.17\\bin;${env:PATH}","JAVA_HOME":"D:\\jdk\\jdk-17.0.17"},"path":"cmd"},"JavaSE-21 LTS":{"overrideName":true,"env":{"PATH":"D:\\jdk\\jdk-21.0.9\\bin;${env:PATH}","JAVA_TOOL_OPTIONS":"-Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8","JAVA_HOME":"D:\\jdk\\jdk-21.0.9"},"path":"cmd","args":["/k","chcp","65001"]// 强制 UTF-8 编码},"JavaSE-25 LTS":{"overrideName":true,"env":{"PATH":"D:\\jdk\\jdk-25.0.1\\bin;${env:PATH}","JAVA_TOOL_OPTIONS":"-Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8","JAVA_HOME":"D:\\jdk\\jdk-25.0.1"},"path":"cmd","args":["/k","chcp","65001"]}},/* ================================================================= Java 开发环境配置 (JDK / Maven / Gradle) 包含:运行时、编译设置、调试器、构建工具路径 ================================================================= */// Java 运行时列表配置"java.configuration.runtimes":[{"name":"JavaSE-1.8","path":"D:\\jdk\\jdk1.8.0_471"},{"name":"JavaSE-17","path":"D:\\jdk\\jdk-17.0.17"},{"name":"JavaSE-21","path":"D:\\jdk\\jdk-21.0.9"},{"name":"JavaSE-25","path":"D:\\jdk\\jdk-25.0.1","default":true// 默认 JDK}],// Java 测试运行器配置"java.test.config":{"vmArgs":["-Dstdout.encoding=UTF-8","-Dstderr.encoding=UTF-8"]},// 启动时不自动检测已安装的 JDK// "java.configuration.detectJdksAtStart": false,// 自动进行空指针分析"java.compile.nullAnalysis.mode":"automatic",// 自动更新构建配置"java.configuration.updateBuildConfiguration":"automatic",// Java 调试:自动热代码替换"java.debug.settings.hotCodeReplace":"auto",// 依赖包显示方式:分层级显示"java.dependency.packagePresentation":"hierarchical",// 开启自动构建"java.autobuild.enabled":true,// 组织导入时,同一包下超过 99 个类即转换为通配符 (*) 导入"java.sources.organizeImports.staticStarThreshold":99,// Maven 自动更新快照版本"java.maven.updateSnapshots":true,// Gradle 主目录路径"java.import.gradle.home":"D:\\gradle\\default",// Gradle 使用的 JDK"java.import.gradle.java.home":"D:\\jdk\\default",// ============================================================// 构建、调试与终端设置// ============================================================// Maven 视图层级化显示"maven.view":"hierarchical",// 指定 Maven 本地安装路径 (建议手动指定,避免环境混乱)// 如果已配环境变量填 mvn,否则填全路径 ("D:\\apache-maven-3.6.3\\bin\\mvn")"maven.executable.path":"D:\\apache-maven-3.6.3\\bin\\mvn",// 常用快捷指令"maven.terminal.favorites":[{"alias":"快速打包 (强制刷新)","command":"clean install -U","debug":false},{"alias":"调试模式打包","command":"clean install -U -X","debug":false}],// Maven 终端使用的自定义环境变量"maven.terminal.customEnv":[{"environmentVariable":"JAVA_HOME","value":"D:\\jdk\\default"}],/* ================================================================= 调试体验优化 (Debug Configuration) ================================================================= */// 调试工具栏的位置:// "floating": 悬浮在顶部中央(默认,可拖动)// "docked": 固定在侧边栏调试面板顶部(不遮挡代码)// "hidden": 隐藏工具栏"debug.toolBarLocation":"floating",// 调试控制台字体大小"debug.console.fontSize":13,// 调试日志不自动换行"debug.console.wordWrap":false,// 每次开始调试时自动打开控制台"debug.internalConsoleOptions":"openOnSessionStart",// 调试结束后不强制跳回文件管理器,保持当前视图"debug.openExplorerOnEnd":false,// 在底部状态栏也显示调试状态和按钮"debug.showInStatusBar":"always","debug.openDebug":"neverOpen",// 只有报错时才强行提醒"debug.onTaskErrors":"showErrors",/* ================================================================= Git & GitLens 版本控制 包含:Git 基础行为、GitLens 增强显示(Blame/History) ================================================================= */// 不打开父级 Git 仓库"git.openRepositoryInParentFolders":"never",// 忽略未安装 Git 的警告"git.ignoreMissingGitWarning":true,// 自动拉取远程变更"git.autofetch":true,// GitLens 时间格式"gitlens.defaultDateFormat":"YYYY-MM-DD HH:mm:ss",// 时间显示样式:绝对时间"gitlens.defaultDateStyle":"absolute",// 作者显示样式:显示姓名"gitlens.defaultAuthorStyle":"name",// 时间来源:按提交时间 (authored)"gitlens.defaultDateSource":"authored",// 启用当前行 Blame 信息"gitlens.currentLine.enabled":true,// 行内 Blame 显示在行尾"gitlens.currentLine.location":"endOfLine",// 行内 Blame 格式:作者,时间 · 信息"gitlens.currentLine.format":"${author}, ${date} · ${message}",// 非编辑状态也显示行内 Blame"gitlens.currentLine.onlyWhileEditing":false,// 鼠标悬停时启用详细信息"gitlens.currentLine.hover.enabled":true,// 文件级 Blame 切换模式"gitlens.blame.toggle.mode":"file",// Blame 视图紧凑模式"gitlens.blame.compact":true,// 提交记录文件列表布局"gitlens.views.commits.files.layout":"list",// 显示分支比较"gitlens.views.commits.showBranchComparison":"branch",// 允许文件历史追踪重命名"gitlens.advanced.fileHistoryFollowsRenames":true,// 比较时忽略空白字符变更"gitlens.ignoreWhitespace":true,/* ================================================================= 语言特定配置 (Language Specific) 包含:json,Vue, SCSS, Bat 的格式化与 Emmet ================================================================= */"[java]":{"editor.formatOnSave":false//保存 Java 文件时不会触发格式化},"[jsonc]":{"editor.defaultFormatter":"vscode.json-language-features"// jsonc 语言,使用 vscode 默认格式化},"[json]":{"editor.defaultFormatter":"vscode.json-language-features"// json 语言,使用 vscode 默认格式化},"[vue]":{"editor.defaultFormatter":"esbenp.prettier-vscode"// Vue 语言,使用 Prettier - Code formatter 插件格式化},"[scss]":{"editor.defaultFormatter":"sibiraj-s.vscode-scss-formatter"// scss 语言,使用 vscode-scss-formatter 插件格式化},"[xml]":{"editor.defaultFormatter":"dotjoshjohnson.xml",// XML 语言,使用 dotjoshjohnson.xml 插件格式化,对 mybatis xml 格式化友好些"editor.formatOnSave":false// 保存 xml 文件时不会触发格式化},"[sql]":{"editor.formatOnSave":false,// 保存 xml 文件时不会触发格式化"cSpell.enabled":false// 禁用拼写检查},"[tsql]":{"editor.formatOnSave":false,// 保存 xml 文件时不会触发格式化"cSpell.enabled":false// 禁用拼写检查},"[bat]":{"files.eol":"\r\n"// 批处理文件强制使用 CRLF 换行},// ============================================================// XML 与 MyBatis 深度定制 (保护 SQL 逻辑)// ============================================================// 必须开启,否则无法手动触发格式化"xml.format.enabled":true,// 防止长 SQL 被强制折行"xml.format.maxLineWidth":999,// 不自动拆分属性,保持单行或原始写法"xml.format.splitAttributes":"preserve",// 若属性已换行,则保持原有换行与缩进布局"xml.format.wrapAttributes":"preserve",// 保持 CDATA 内部不换行"xml.format.joinCDATALines":true,// 建议 XML 语言服务器优先使用二进制通信(若支持),以提升性能"xml.server.preferBinary":true,// 在空闭合标签前添加空格,例如 <tag /> 而非 <tag/>"xml.format.spaceBeforeEmptyCloseTag":true,// 即使手动触发格式化,也会跳过以下标签内容,双重保护 SQL"xml.format.contentUnformatted":["mapper","select","insert","update","delete","sql","script"],// 彻底关闭标签联动,防止大规模查找替换时触发非预期的标签变更// 禁用自动闭合标签"xml.editor.autoClosingTags":false,/* ================================================================= 扩展插件与杂项 (Extensions & Miscellaneous) 包含:拼写检查、空格处理、LiveServer、安全信任 ================================================================= */// 拼写检查提示级别:提示 (Hint)"cSpell.diagnosticLevel":"Hint",// 允许单词中包含数字、下划线、大小写混合"cSpell.allowCompoundWords":true,// 忽略全大写(常用于常量、SQL 关键字)"cSpell.ignoreCase":true,// 尾随空格高亮背景色"trailing-spaces.backgroundColor":"rgba(255,0,0,0.1)",// 尾随空格检测不包含空行"trailing-spaces.includeEmptyLines":false,// Live Server 不显示信息弹窗"liveServer.settings.donotShowInfoMsg":true,// 工作区信任设置:默认打开不信任的文件"security.workspace.trust.untrustedFiles":"open",// 不允许 Red Hat Java 扩展(Language Support for Java™ by Red Hat)发送匿名遥测数据"redhat.telemetry.enabled":false,/* ================================================================= AI 辅助工具/集成插件配置 (AI Assistant Settings) 包含:语言偏好、AI 补全、聊天安全、自动更新与代理设置 ================================================================= */"app":{// --- 通用设置 ---"configGeneralDisplayLanguage":"zh-cn",// 插件界面显示语言:简体中文"configGeneralAiResponseLanguage":"zh-cn",// AI 回答问题的语言:简体中文"configGeneralImprovementPlan":"agree",// 是否同意加入用户体验改进计划"configGeneralImportSettings":"VS Code",// 设置导入来源:从标准 VS Code 导入// --- 代码补全 (Completion) ---"configCompletionEnableNES":true,// 是否启用新型代码补全引擎 (NES)"configCompletionDisabledLanguages":[],// 禁用补全功能的编程语言列表(目前为空)"configCompletionTriggerInComment":true,// 在注释中是否依然触发 AI 代码补全"configCompletionAutoImport":true,// AI 补全代码时是否自动导入相关的类/包// --- AI 聊天/对话 (Chat) ---"configChatWebToolsMode":"Ask every time",// AI 使用联网搜索工具的模式:每次都询问我"configChatAskModeUseTools":false,// 在提问模式下是否默认允许使用外部工具"configChatEditFileTool":false,// 是否允许 AI 直接通过对话修改本地文件"configChatTerminalRunMode":"askEveryTime",// AI 执行终端命令前的触发模式:每次询问"configChatCommandDenyList":"rm,mv,sudo,wget,curl,chown",// 终端命令黑名单:禁止 AI 执行这些高风险命令"configChatCommandAllowlist":"",// 终端命令白名单(留空表示按默认规则)"configChatAutoRunMcpTools":true,// 是否自动运行 MCP (Model Context Protocol) 协议工具"configChatMethodQuickOperation":false,// 是否开启对话框内的方法级快速操作按钮"configChatShowSelectionToolbar":true,// 选中代码时是否显示 AI 功能悬浮条// --- 进阶功能 ---"configQuestEnable":true,// 是否启用任务/探索模式 (Quest)"configMemoryAutoGenerate":true,// 是否允许 AI 自动生成/记录长期记忆(记住你的编码习惯)"configAdvancedAutoUpdate":true,// 插件是否自动检查并安装更新"configAdvancedProxyMode":"system",// 插件的网络代理模式:使用系统代理"configAdvancedProxyURL":""// 自定义代理服务器地址}}

🎯注意Git Bash 安装目录指定正确;jdk 安装目录要指定正确,默认 jdk,各版本 jdk 都要指定正确;maven 目录要指定正确;


五、导入工程

5.1 导入工程
5.1 导入 Maven 项目
  1. 打开项目
    • 点击菜单栏 File → Open Folder...
    • 选择包含 pom.xml 文件的项目根目录
    • 点击 Select Folder
  2. 等待项目加载
    • 首次打开时,IDE 会自动检测并加载 Maven 项目
    • 会弹出提示询问是否导入项目,点击 Yes
  3. Maven 依赖下载
    • 在底部状态栏可以看到 Maven 正在下载依赖
    • 或者在侧边栏的 Maven 插件中查看进度
5.2 从 Git 仓库克隆
  1. 克隆仓库
    • 点击菜单栏 View → Command Palette (或按 Ctrl+Shift+P)
    • 输入 Git: Clone
    • 输入仓库 URL
    • 选择存储位置
  2. 打开克隆的项目
    • 克隆完成后,选择 Open Repository in New Window
    • 或者关闭当前窗口,重新打开项目
5.3 导入父项目
  1. 打开父项目根目录(包含父 pom.xml)
  2. IDE 会自动识别多模块结构
  3. 在"Java 项目"视图中可以看到所有子模块
5.4 单独导入子模块
  1. 打开特定子模块目录
  2. 右键点击 pom.xml → 添加到工作区
  3. 或在 pom.xml 上右键选择 Maven → 导入项目
5.2 创建工程
5.2.1 创建 Maven 项目

方法 1 - 使用命令面板:

  1. Ctrl + Shift + P → Java: Create Java Project
  2. 选择 Maven
  3. 选择 maven-archetype-quickstart(简单 Java 项目)或 maven-archetype-webapp(Web 项目)
  4. 输入 Group Id、Artifact Id、Version
  5. 选择项目保存位置

方法 2 - 使用终端:

# 创建项目目录mkdir my-project &&cd my-project # 使用 Maven 原型创建 mvn archetype:generate \ -DgroupId=com.example \ -DartifactId=my-app \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DarchetypeVersion=1.4\ -DinteractiveMode=false # 用 IDE 打开 code my-app 
5.2.2 创建 Spring Boot 项目

使用 Spring Initializr:

  1. Ctrl + Shift + P → Spring Initializr: Generate a Maven Project
  2. 选择语言:Java
  3. 选择 Spring Boot 版本(推荐稳定版)
  4. 输入 Group Id 和 Artifact Id
  5. 选择打包方式:Jar
  6. 选择 Java 版本
  7. 选择依赖(可多选):
    • Spring Web - Web 应用开发
    • Spring Data JPA - 数据持久化
    • MySQL Driver - MySQL 数据库
    • Lombok - 代码简化
    • Spring Boot DevTools - 热部署
  8. 选择项目保存位置
5.4 项目导入常见问题
5.4.1 Maven 依赖下载失败

问题现象:pom.xml 报红,依赖无法解析

解决方案:

  1. 检查网络连接和 Maven 镜像配置
  2. 强制更新依赖:
    • 命令面板:Maven: Execute Commands → clean install -U
    • 或终端:mvn clean install -U

清除本地仓库缓存:

# 删除本地仓库中的错误文件rm -rf D:/maven-repo/**/*.lastUpdated 
5.4.2 JDK 版本不匹配

问题现象:编译报错 invalid source release

解决方案:

  1. 在 IDE 中重新加载项目:Ctrl + Shift + P → Java: Clean Workspace

使用 Git Bash 切换对应 JDK 版本:

jdk8 # 或 jdk17, jdk21

检查项目 pom.xml 中的 Java 版本:

<properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties>
5.4.3 编码问题

问题现象:中文显示乱码或编译报错

解决方案:

在 pom.xml 中添加编码配置:

<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties>

确保所有编码设置为 UTF-8:

{"files.encoding":"utf8","java.jdt.ls.vmargs":"-Dfile.encoding=UTF-8"}

六、配置工程

在 VS Code / Lingma AI IDE 下开发 Java 工程 时,工作空间级别的 .vscode 目录是'项目级 IDE 规范'的核心。
它的目标不是'个人偏好',而是:保证团队成员打开工程即可一致运行、调试、构建。

.vscode/ ├── extensions.json ← 自动提示安装 ├── settings.json ← 统一编码、格式化、保存动作 ├── launch.json ← 调试/运行模板 └── java-formatter.xml ← 团队代码风格 (推荐 Jetbrains IDEA 格式化风格) └── .gitignore ← git 版本控制忽略配置文件 

.gitignore

## maven target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/**/target/ !**/src/test/**/target/ ### STS ### .apt_generated .springBeans .sts4-cache ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr /out/ ### NetBeans ### /nbproject/private/ /nbbuild/ /dist/ /nbdist/ /.nb-gradle/ build/ !**/src/main/**/build/ !**/src/test/**/build/ ### VS Code ### .vscode/ ## Eclipse Core .project .classpath .settings # External tool builders .externalToolBuilers/ # Locally stored "Eclipse launch configurations" *.launch # CDT-specific .cproject # Java annotation processor (APT) .factorypath # PDT-specific .buildpath # TeXlipse plugin .texlipse ## Mac .DS_Store ## SVN .svn catalina.base_IS_UNDEFINED ## rebel rebel-remote.xml rebel.xml ## log logs *.log ## other dubbo-cache dubbo-cache.lock 

java-formatter.xml 配置:

<?xml version="1.0" encoding="UTF-8" standalone="no"?><profiles version="20"><profile kind="CodeFormatterProfile" name="IDEA-Default" version="20"><!-- 通用 --><setting id="org.eclipse.jdt.core.formatter.lineSplit" value="2147483647"/><setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/><setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/><setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/><!-- 花括号 --><setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/><setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/><setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/><setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/><!-- 换行 --><setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="do_not_insert"/><!-- 空格 --><setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do_not_insert"/><setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/><!-- 导入 --><setting id="org.eclipse.jdt.core.formatter.imports_order" value="java;javax;org;com;"/><setting id="org.eclipse.jdt.core.formatter.imports_on_demand_threshold" value="99"/><setting id="org.eclipse.jdt.core.formatter.imports_static_on_demand_threshold" value="99"/></profile></profiles>

launch.json 配置:

{// VS Code 统一使用 "0.2.0""version":"0.2.0","configurations":[{// 启动类型"type":"java",// 启动入口显示的名称"name":"sh-test2-security",// 启动项目名"projectName":"aplus-securitycenter-start",// 启动方式"request":"launch",// 启动时主类"mainClass":"com.centaline.aplus.AplusSecurityApplication",// 启动时 JVM 参数"vmArgs":["-Dfile.encoding=UTF-8","-Dserver.port=8080"],// 输出到 VSCode 的'调试控制台'(Debug Console) 面板,对 UTF-8 支持最好,几乎不会乱码"console":"internalConsole"}}]

settings.json 配置:

{"java.format.settings.url":".vscode/java-formatter.xml",// java 格式化配置文件"java.format.settings.profile":"IDEA-Default",// 使用指定的 Profile// 指定 Maven 本地安装路径 (建议手动指定,避免环境混乱)"maven.executable.path":"mvn",// 如果已配环境变量填 mvn,否则填全路径 ("D:\\apache-maven-3.6.3\\bin\\mvn")// maven 常用快捷指令"maven.terminal.favorites":[{"alias":"快速打包 (强制刷新)","command":"clean install -U","debug":false},{"alias":"调试模式打包","command":"clean install -U -X","debug":false}]}

extensions.json 配置:

{// =========================// VS Code / Lingma IDE// 推荐插件列表(团队级)//// 说明:// - 新成员打开工程时会收到'推荐安装插件'提示// - 这里只放【必须 / 强烈建议】插件// - 不要放纯个人习惯类插件// ========================="recommendations":[// ===== 通用效率 / 代码质量 =====// 英文拼写检查(变量名 / 注释)"streetsidesoftware.code-spell-checker",// 扫描 TODO/FIXME/NOTE 注释并以树形结构展示"gruntfuggly.todo-tree",// 行内错误高亮显示(比 Problems 面板更直观)"usernamehw.errorlens",// ===== Git / 版本管理 =====// Git 增强:行级 blame、提交历史、作者信息"eamodio.gitlens",// Git 历史可视化(文件 / 分支 / 提交)"donjayamanne.githistory",// ===== Java 基础能力(核心) =====// Java 插件合集(语言服务 / 调试 / 测试 / Maven / Gradle 等)"vscjava.vscode-java-pack",// Java 语言服务器(语法、补全、重构、诊断核心)// ⚠️ 已包含在 java-pack 中,但单独列出方便认知"redhat.java",// Java 调试支持(断点 / 变量 / 调用栈)"vscjava.vscode-java-debug",// JUnit / TestNG 测试运行与调试"vscjava.vscode-java-test",// Maven 项目支持(生命周期、依赖、目标执行)"vscjava.vscode-maven",// Java 项目依赖关系与类路径可视化"vscjava.vscode-java-dependency",// ===== Spring Boot =====// Spring Boot 插件合集"vmware.vscode-boot-dev-pack",// Spring Boot 开发支持(配置提示、诊断、导航)"vmware.vscode-spring-boot",// Spring Boot 应用启动 / 管理面板"vscjava.vscode-spring-boot-dashboard",// Spring Initializr:创建 Spring Boot 项目"vscjava.vscode-spring-initializr",// ===== ORM / 数据访问 =====// MyBatis / iBatis XML 辅助(跳转、补全、校验)"yangbaopan.vscode-java-ibatisx",// 依赖安全与许可证分析(CVE / License 风险提示)"redhat.fabric8-analytics",// ===== 前端(如工程包含前端模块) =====// Vue 插件合集(基于 Volar,适配 Vue 3)"misterj.vue-volar-extention-pack",// HTML 中 class / id 对应 CSS 自动补全"ecmel.vscode-html-css",// ===== 配置文件 =====// YAML 支持(Spring / Kubernetes / CI 配置)"redhat.vscode-yaml",// XML 支持(校验 / 补全 / 格式化)"redhat.vscode-xml"]}

七、调试运行工程

7.1 运行 Java 程序
7.1.1 运行主类

方法 1 - 代码 Lens:

  1. 打开包含 main 方法的 Java 文件
  2. 点击 main 方法上方的 'Run | Debug' 链接
  3. 选择 'Run '类名.main()'"

方法 2 - 右键菜单:

  1. 在编辑器中右键点击 Java 文件
  2. 选择 'Run Java"

方法 3 - 命令面板:

  1. Ctrl + Shift + P → Java: Run Java
  2. 选择要运行的主类
7.1.2 运行 Spring Boot 应用

使用 Spring Boot Dashboard:

  1. 打开左侧活动栏的 'Spring Boot Dashboard' 图标
  2. 找到要启动的应用
  3. 点击右侧的 'Run' 或 'Debug' 按钮

使用代码 Lens:

  1. 打开主类(带 @SpringBootApplication 注解)
  2. 点击类上方的 'Run | Debug' 链接

使用终端:

# Maven 方式 mvn spring-boot:run # 或先打包再运行 mvn clean package java -jar target/demo-project-1.0.0-SNAPSHOT.jar 
7.2 调试 Java 程序
7.2.1 设置断点
  1. 在代码行号左侧点击,设置断点(红色圆点)
  2. 或使用快捷键 F9 在当前行切换断点

断点类型:

  • 行断点:在特定代码行暂停
  • 条件断点:右键断点 → 输入条件表达式(如 i > 100)
  • 命中次数断点:右键断点 → 设置命中次数
  • 异常断点:Ctrl + Shift + P → Java: Add Exception Breakpoint
7.2.2 启动调试

启动调试会话:

  1. 点击左侧活动栏的 '运行和调试' 图标(Ctrl + Shift + D)
  2. 选择调试配置(如 'Launch Current File')
  3. 按 F5 或点击绿色播放按钮启动调试

调试控制按钮:

按钮快捷键功能
继续F5继续执行到下一个断点
单步跳过F10执行当前行,不进入方法
单步进入F11进入方法内部
单步跳出Shift+F11跳出当前方法
重启Ctrl+Shift+F5重新启动调试
停止Shift+F5停止调试

变量视图:

  • 查看当前作用域内的变量值
  • 展开对象查看属性
  • 修改变量值(右键 → Set Value)

监视视图:

  • 添加表达式进行监视(如 user.getName())
  • 实时查看表达式值变化

调用堆栈视图:

  • 查看方法调用链
  • 点击堆栈帧跳转到对应代码位置

断点视图:

  • 管理所有断点
  • 启用/禁用断点
  • 编辑断点条件
7.3 单元测试
7.3.1 运行单元测试

运行单个测试:

  1. 打开测试类
  2. 点击测试方法上方的 'Run Test' 链接
  3. 或右键 → 'Run Test"

运行所有测试:

  1. 打开测试类
  2. 点击类上方的 'Run All Tests' 链接

使用测试资源管理器:

  1. 点击左侧活动栏的 'Testing' 图标
  2. 展开测试树,选择要运行的测试
  3. 点击运行按钮

使用终端:

# 运行所有测试 mvn test# 运行单个测试类 mvn test -Dtest=UserServiceTest # 运行单个测试方法 mvn test -Dtest=UserServiceTest#testCreateUser
7.3.2 调试单元测试
  1. 在测试方法中设置断点
  2. 点击测试方法上方的 'Debug Test' 链接
  3. 或使用右键菜单选择 'Debug Test"

八、vscode 快捷键

8.1 编辑快捷键
快捷键功能
Ctrl + Shift + K删除当前行
Ctrl + Enter下方插入新行
Ctrl + Shift + Enter上方插入新行
Alt + ↑当前行上移
Alt + ↓当前行下移
Ctrl + ]增加缩进
Ctrl + [减少缩进
Ctrl + /切换行注释
Ctrl + Shift + /切换块注释
Ctrl + D选中下一个相同单词(多光标)
Ctrl + Shift + L选中所有相同单词
Alt + 鼠标点击多光标编辑
Ctrl + Shift + Alt + ↑/↓列选择模式
8.2 导航快捷键
快捷键功能
Ctrl + P快速打开文件
Ctrl + Shift + O跳转到文件中的符号
Ctrl + T工作区符号搜索
Ctrl + G跳转到指定行
F12跳转到定义
Alt + F12速览定义(不跳转)
Ctrl + Shift + F12显示所有引用
Ctrl + -返回上一个位置
Ctrl + Shift + -前进到下一个位置
Ctrl + Shift + F全局搜索
Ctrl + Shift + H全局替换
8.3 代码操作快捷键
快捷键功能
Ctrl + Space触发建议(代码补全)
Ctrl + Shift + Space参数提示
Ctrl + .快速修复
Ctrl + Shift + R重构菜单
F2重命名符号
Ctrl + K Ctrl + F格式化选中代码
Shift + Alt + F格式化整个文档
Ctrl + K Ctrl + X删除尾部空格
Ctrl + K Ctrl + C添加行注释
Ctrl + K Ctrl + U移除行注释
8.4 窗口/视图快捷键
快捷键功能
Ctrl + B切换侧边栏显示
Ctrl + Shift + E打开资源管理器
Ctrl + Shift + F打开搜索
Ctrl + Shift + G打开源代码管理
Ctrl + Shift + D打开调试视图
Ctrl + Shift + X打开扩展视图
Ctrl + J切换面板(终端)
Ctrl + Shift + N新建窗口
Ctrl + W关闭当前标签
Ctrl + K W关闭所有标签
Ctrl + Tab切换标签页
Ctrl + 1/2/3...切换到第 N 个编辑器组
8.5 调试快捷键
快捷键功能
F5开始/继续调试
Ctrl + F5运行(不调试)
Shift + F5停止调试
Ctrl + Shift + F5重启调试
F9切换断点
F10单步跳过
F11单步进入
Shift + F11单步跳出
Ctrl + Shift + D打开调试视图
8.6 Git 快捷键
快捷键功能
Ctrl + Shift + G打开 Git 视图
Ctrl + Enter提交(Git 视图中)
Ctrl + Shift + G C查看提交
Ctrl + Shift + G B查看分支
8.7 AI 功能快捷键(Lingma)
快捷键功能
Ctrl + Shift + L打开通义灵码对话面板
Ctrl + I行内代码补全
Tab接受 AI 建议
Esc取消 AI 建议
Ctrl + →逐词接受建议
Alt + ]下一个建议
Alt + [上一个建议
8.8 自定义快捷键

修改快捷键:

  1. 文件 → 首选项 → 键盘快捷方式(Ctrl + K Ctrl + S)
  2. 搜索要修改的命令
  3. 双击快捷键进行编辑
  4. 按下新的快捷键组合

推荐自定义配置:

// keybindings.json[{"key":"ctrl+shift+t","command":"java.test.run"},{"key":"ctrl+shift+y","command":"java.debug.run"},{"key":"ctrl+shift+m","command":"maven.goal.custom"}]

附录:常见问题排查

A.1 Java 扩展无法启动

症状:Java 功能无法使用,提示语言服务器错误

解决:

  1. 检查 java.jdt.ls.java.home 配置是否正确
  2. 清理工作区:Ctrl + Shift + P → Java: Clean Workspace
  3. 重新加载窗口:Ctrl + Shift + P → Developer: Reload Window
A.2 Maven 依赖无法下载

症状:pom.xml 报红,依赖显示缺失

解决:

  1. 检查网络连接
  2. 检查 settings.xml 中的镜像配置
  3. 强制更新:mvn clean install -U
  4. 清除.lastUpdated 文件
A.3 中文显示乱码

解决:

  1. 统一设置为 UTF-8 编码
  2. 检查 IDE、项目、文件的编码设置
  3. 在 pom.xml 中添加编码配置
A.4 内存不足

症状:IDE 卡顿,提示 OutOfMemory

解决:
修改 settings.json:

{"java.jdt.ls.vmargs":"-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx4G -Xms100m"}

目录

  1. VS Code / Lingma AI IDE Java 开发攻略手册
  2. 一、IDE 介绍
  3. 二、基础配置
  4. 2.1 启用【开发者模式】
  5. 2.2 安装 Git Bash
  6. 2.3 配置 java
  7. 允许 Git Bash 创建原生 Windows 软链接exportMSYS="winsymlinks:nativestrict"# 默认软链接入口exportJDKDEFAULT="/d/jdk/default"# JDK 路径exportJDK8PATH="/d/jdk/jdk1.8.0471"exportJDK17PATH="/d/jdk/jdk-17.0.17"exportJDK21PATH="/d/jdk/jdk-21.0.9"exportJDK25PATH="/d/jdk/jdk-25.0.1"# 切换命令封装 (在 Git Bash 执行)aliasjdk8="rm $JDKDEFAULT && ln -s $JDK8PATH$JDKDEFAULT && java -version"aliasjdk17="rm $JDKDEFAULT && ln -s $JDK17PATH$JDKDEFAULT && java -version"aliasjdk21="rm $JDKDEFAULT && ln -s $JDK21PATH$JDKDEFAULT && java -version"aliasjdk25="rm $JDKDEFAULT && ln -s $JDK25PATH$JDKDEFAULT && java -version"
  8. 2.4 配置 maven
  9. 三、安装 IDE
  10. 【必装插件】
  11. 3.1 插件介绍
  12. 3.1.1 通用效率/辅助工具
  13. 3.1.2 Git / 版本管理
  14. 3.1.3 Java
  15. 3.1.4 前端
  16. 3.1.5 Markdown / 文档
  17. 3.1.6 其他语言
  18. 3.2 给插件映射快捷键
  19. 四、配置 IDE
  20. 五、导入工程
  21. 5.1 导入工程
  22. 5.1 导入 Maven 项目
  23. 5.2 从 Git 仓库克隆
  24. 5.3 导入父项目
  25. 5.4 单独导入子模块
  26. 5.2 创建工程
  27. 5.2.1 创建 Maven 项目
  28. 创建项目目录mkdir my-project &&cd my-project # 使用 Maven 原型创建 mvn archetype:generate \ -DgroupId=com.example \ -DartifactId=my-app \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DarchetypeVersion=1.4\ -DinteractiveMode=false # 用 IDE 打开 code my-app
  29. 5.2.2 创建 Spring Boot 项目
  30. 5.4 项目导入常见问题
  31. 5.4.1 Maven 依赖下载失败
  32. 删除本地仓库中的错误文件rm -rf D:/maven-repo/*/.lastUpdated
  33. 5.4.2 JDK 版本不匹配
  34. 5.4.3 编码问题
  35. 六、配置工程
  36. maven target/ !.mvn/wrapper/maven-wrapper.jar !/src/main//target/ !/src/test//target/ ### STS ### .aptgenerated .springBeans .sts4-cache ### IntelliJ IDEA ### .idea .iws .iml .ipr /out/ ### NetBeans ### /nbproject/private/ /nbbuild/ /dist/ /nbdist/ /.nb-gradle/ build/ !/src/main//build/ !/src/test//build/ ### VS Code ### .vscode/ ## Eclipse Core .project .classpath .settings # External tool builders .externalToolBuilers/ # Locally stored "Eclipse launch configurations" .launch # CDT-specific .cproject # Java annotation processor (APT) .factorypath # PDT-specific .buildpath # TeXlipse plugin .texlipse ## Mac .DSStore ## SVN .svn catalina.baseISUNDEFINED ## rebel rebel-remote.xml rebel.xml ## log logs *.log ## other dubbo-cache dubbo-cache.lock
  37. 七、调试运行工程
  38. 7.1 运行 Java 程序
  39. 7.1.1 运行主类
  40. 7.1.2 运行 Spring Boot 应用
  41. Maven 方式 mvn spring-boot:run # 或先打包再运行 mvn clean package java -jar target/demo-project-1.0.0-SNAPSHOT.jar
  42. 7.2 调试 Java 程序
  43. 7.2.1 设置断点
  44. 7.2.2 启动调试
  45. 7.3 单元测试
  46. 7.3.1 运行单元测试
  47. 运行所有测试 mvn test# 运行单个测试类 mvn test -Dtest=UserServiceTest # 运行单个测试方法 mvn test -Dtest=UserServiceTest#testCreateUser
  48. 7.3.2 调试单元测试
  49. 八、vscode 快捷键
  50. 8.1 编辑快捷键
  51. 8.2 导航快捷键
  52. 8.3 代码操作快捷键
  53. 8.4 窗口/视图快捷键
  54. 8.5 调试快捷键
  55. 8.6 Git 快捷键
  56. 8.7 AI 功能快捷键(Lingma)
  57. 8.8 自定义快捷键
  58. 附录:常见问题排查
  59. A.1 Java 扩展无法启动
  60. A.2 Maven 依赖无法下载
  61. A.3 中文显示乱码
  62. A.4 内存不足

更多推荐文章

查看全部
  • Django 配置 Swagger 文档的详细步骤与代码示例
  • Linux 常用命令速查手册
  • 鸿蒙金融理财全栈项目:生态合作、用户运营与数据变现
  • Go Web 开发必备核心理论
  • 飞书机器人集成 HunyuanOCR 实现群聊图片自动识别
  • 硬盘分区详解:MBR 与 GPT 的区别与选择
  • Transformer 分词算法详解
  • 前端 JS 资源加载失败的重试与多源容灾方案
  • 算法题解析:替换所有问号与提莫攻击
  • 大模型对比:算法导论散列表装载因子探查期望数计算
  • 自然语言处理在客户服务中的实战应用
  • JavaScript 精度丢失与金额分摊问题的工程化解决方案
  • Windows 下 VSCode 配置 C/C++ 开发环境完整指南
  • OpenClaw 实战:利用 AI Agent 自动生成测试用例并写入 Excel
  • OpenClaw 开源 AI Agent 框架介绍与架构解析
  • RVC WebUI 全平台部署实战:10 分钟数据构建专业变声模型
  • 基于YOLOv8/YOLOv10/YOLOv11/YOLOv12与SpringBoot的森林火灾烟雾检测系统(DeepSeek智能分析+web交互界面+前后端分离+YOLO数据
  • 飞算 JavaAI 插件辅助 Java 项目开发效率实测
  • Unsloth 多场景适配:Llama、Qwen、Gemma 统一微调教程
  • 文本生成技术原理、应用与国产工具实践指南

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online