java开发,IDEA转战VSCODE配置(mac)

news2025/1/24 13:54:00

一、基本java开发环境配置

前提:已经安装了jdk、maven、vscode,且配置了环境变量

1、安装java相关的插件

2、安装spring相关的插件

 

3、vscode配置maven环境 

打开 VsCode -> 首选项 -> 设置,也可以在setting.json文件中直接编辑,页面上设置和setting.json中是对应的。

搜索 maven, 将 Maven > Executable: Path 对应的 mvn程序路径改为 实际路径

配置 setting.xml,将 Maven: Global Setting 、Maven: User Setting 、Maven: Settings File对应的 setting.xml 文件路径改为实际路径

配置完maven后,setting.json如下(其他一些习惯配置,可以按需配置):

"maven.executable.path": "/Users/xxx/Applications/apache-maven-3.9.6/bin/mvn",
 "java.configuration.maven.globalSettings": "/Users/xxx/.m2/settings.xml",
 "java.configuration.maven.userSettings": "/Users/xxx/.m2/settings.xml",
 "maven.settingsFile": "/Users/xxx/.m2/settings.xml",
 "java.completion.chain.enabled": true, //启用链式代码补全功能
 "java.completion.matchCase": "off",  //代码补全时是否区分大小写
 "java.signatureHelp.description.enabled": true,  //启用方法签名帮助的描述功能
 "java.dependency.showMembers": true, //在Java依赖视图中显示类的成员
 "java.debug.logLevel": "info", //控制Java调试器的日志级别

4、重启vscode,用springboot项目测试下

重启Vscode,并引入一个springboot项目测试,能看到maven插件也有了,执行下mvn clean和mvn compile,成功即可。

二、仿IDEA使用习惯配置 

1、资源管理区文件颜色配置

vscode资源管理区项目文件颜色多彩,标记很多,用idea习惯了,不太能分得清哪些是本次修改的,哪些是commit的,可以在setting.json中添加以下配置,尽量模仿idea的使用习惯

"workbench.colorCustomizations": {
  "gitDecoration.addedResourceForeground": "#00ffa2d0", // 新增的文件(绿色)
  "gitDecoration.modifiedResourceForeground": "#00aaff", // 修改的文件(蓝色)
  "gitDecoration.deletedResourceForeground": "#FF0000", // 删除的文件(红色)
  "gitDecoration.untrackedResourceForeground": "#ff7700", // 未跟踪的文件(红色)
  "gitDecoration.ignoredResourceForeground": "#8A8A8A", // 忽略的文件(灰色)
  "gitDecoration.conflictingResourceForeground": "#FF0000", // 冲突的文件(红色)
  "gitDecoration.submoduleResourceForeground": "#8A8A8A" // 子模块的文件(灰色)
  },
  "problems.decorations.enabled": false,

2、实时保存修改文件

vscode默认需要ctrl+s保存修改的当前文件,可以在setting.json中添加以下配置,使尽量实时保存,避免忘记保存,在commit时遗漏

"files.autoSave": "afterDelay",
 "files.autoSaveDelay": 10,  //10ms后保存

3、去掉多种诊断、警告标识

vscode刚打开java项目时,有很多波浪线或者各种标识,其实不是代码语法错误,不影响执行,若需要去掉这些诊断,可以在setting.json中添加以下配置

"typescript.validate.enable": false,
 "typescript.tsserver.enableRegionDiagnostics": false,
 "docker.languageserver.diagnostics.deprecatedMaintainer": "ignore",
 "java.errors.incompleteClasspath.severity": "ignore", // 设置代码检查
 "[java]": {
 "editor.defaultFormatter": "redhat.java",
 "editor.suggest.snippetsPreventQuickSuggestions": false // 设置代码提示
 },

4、cucumber框架支持

若脚本使用cucumber写的,需要支持cucumber框架,安装相关插件

安装后可以正确识别.feature文件,但是文件中的step无法跳转到其对应的step定义代码处,可以在setting.json中添加以下配置

"cucumberautocomplete.steps": [
 "src/main/java/com/xx/xx/test/achieve/step/**/**.java"  //step定义的代码目录
  ],
 "cucumberautocomplete.syncfeatures": "src/main/resources/feature/**/**.feature",   //feature文件的目录
 "cucumberautocomplete.strictGherkinCompletion": true,
 "cucumberautocomplete.smartSnippets": true,
 "cucumberautocomplete.stepsInvariants": true,
 "cucumberautocomplete.customParameters": [],

5、项目中中文字符警告标识去除 

项目中中文标点符号或字符会被黄色的框框圈住,可以在setting.json中添加以下配置

"editor.unicodeHighlight.ambiguousCharacters": false

三、springboot项目启动和调试时习惯

1、在项目启动时,配置启动参数

在idea中需要启动参数直接在debug处配置就可以了,在vscode中需要如下配置

打开项目,左侧菜单栏选择 运行和调试,点击 创建launch.json文件,后选择 Java,自动生成configurations配置,找到本项目对应的,添加启动参数

launch.json文件,修改对应项目 

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "java",
      "name": "Launch JarMain",
      "request": "launch",
      "mainClass": "param.analysis.web.JarMain",
      "projectName": "你的项目名称",
      "vmArgs": "-Dfile.encoding=UTF-8",   //以下参数需要哪些加哪些
      "args": "7778",
      "cwd": "${workspaceFolder}/你的工作目录",
      "env": {
        "VAR1": "value1",
        "VAR2": "value2"
      }
    }
  ]
}
  • mainClass: 设置为你的主类 。
  • args: 设置为你需要传递的参数 7778
  • cwd: 设置为你的工作目录。
  • env: 设置环境变量,如果有的话

2、启动或调试项目

这时可以正常启动项目了,debug时,在左侧菜单 debug 中可以查看变量等调试信息

1.使用“Variables”窗口:在调试视图中,“Variables”窗口,它会显示当前作用域内的所有变量及其值。

3、debug中执行表达式

idea中debug可以通过Evaluate Expression方式执行语句,在VS中,可以通过如下方式实现同样功能。

当执行到断点处,可以通过如下方式进行执行表达式

  • 在调试控制台(Debug Console)中,你可以输入表达式并按回车键来评估它。调试控制台通常位于VSCode窗口的底部。
  • 你还可以使用“Watch”窗口来监视变量和表达式的值。在调试视图中,找到“Watch”窗口,点击加号(+)按钮,输入你想要监视的表达式,然后按回车键。

这两种方式均可以通过右键快速执行。

4、搜索指定类文件

idea中双击shift可以搜索类文件,vscode中可通过如下方式:

  • 按 Ctrl+P(Windows/Linux)或 Cmd+P(Mac)打开快速打开面板(上方),搜索指定文件
  • 通过左侧栏的搜索(放大镜图标)进行关键字搜索

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2281448.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python爬虫的学习流程(1-前提准备)

这里主要记录一下我的python爬虫初级的学习的流程 1.python爬虫入门实战课 什么是爬虫?众说纷纭,我们引用维基百科上对网络爬虫的介绍: 网络爬虫(英语:Web crawler),也叫网络蜘蛛(…

数据结构初阶之双向链表的介绍与双向链表的实现

一、概念与结构 带头双向循环链表 next :指向下一个结点(后继结点) prev :指向前一个结点(前驱结点) 二、实现双向链表 项目创建的时候,要创建一个头文件(.h)List.h …

CICD集合(六):Jenkins配置Editable Email Notification

CICD集合(六):Jenkins配置Editable Email Notification 1、系统配置 1.1、Jenkins Location 1.2、邮件通知 1、SMTP服务器:imap.exmail.qq.com (因qq企业邮箱) 2、邮箱后缀:@xxx.com 3、勾选:使用SMTP认证 用户名:

Golang 中除了加锁还有哪些安全读写共享变量的方式?

Golang 中除了加锁还有哪些安全读写共享变量的方式? 在 Golang 中,除了使用 Mutex 锁来保护共享变量外,还可以通过 Channel 和 原子性操作 来实现安全读写共享变量。 1. 使用 Channel 原理 Channel 是 Golang 中用于 Goroutine 之间通信的…

应用层协议 HTTP 讲解实战:从0实现HTTP 服务器

🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 目录 一:🔥 HTTP 协议 🦋 认识 URL🦋 urlencode 和 urldecode 二:🔥 HTTP 协议请求与响应格式 🦋 HTTP 请求…

F/V/F/I频率脉冲信号转换器

F/V/F/I频率脉冲信号转换器 概述:捷晟达科技的JSD TFA-1001系列是一进一出频率脉冲信号转换器(F/V转换器),该频率转换器是将频率脉冲信号(方波、正弦波、锯齿波)转换成国际标准的模拟量电压(电流)信号,并远距离无失真传送到控制室(如:PLC,DCS,AD,PC采集系统)产品的输…

Windows的docker中安装gitlab

一.Windows的docker中安装gitlab 1.通过阿里云拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh 2.在本地创建备份数据的目录 mkdir -p D:home/software/gitlab/etc mkdir -p D:home/software/gitlab/logs mkdir -p D:home/software/gitlab/dat…

【Linux】理解Linux中一切皆文件、缓冲区、ext2文件系统、软硬链接

⭐️个人主页:小羊 ⭐️所属专栏:Linux 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 1、如何理解在Linux中一切皆文件?1.1 概述1.2 文件类型1.3 优势 2、缓冲区2.1 为什么要引入缓冲区?2.2 缓…

在Docker 容器中安装 Oracle 19c

在 Docker 容器中安装 Oracle 19c 是可行的,但它相较于其他数据库(如 MySQL、PostgreSQL 等)会复杂一些,因为 Oracle 数据库有一些特定的要求,如操作系统和库的依赖,以及许可证问题。 不过,Ora…

【数据库】详解MySQL数据库中的事务与锁

目录 1.数据库事务 1.1.事务的四大特性 1.2.事务开启的方式 1.3.读一致性问题及其解决 2.MVCC解决读一致性问题原理 2.1.MVCC概念 2.2.准备环境 3.MySQL中的锁 3.1.行锁之共享锁 3.2.行锁之排它锁 1.数据库事务 数据库事务(Transaction)是一种…

springboot 配置redis

环境配置 springboot3.4 redis5.0.14 redis准备参考下面文章 window下安装redis以及启动 redis客户端安装 引入依赖 <!-- 集成redis依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-…

EEG代码实践:diffusion EEG——扩散模型生成EEG信号

2024/1/22&#xff1a; 原始EEG信号的生成说实话一直做不到让人满意的水平&#xff0c;之前做的MIEEG复现也迟迟没有调整到自己想要的程度&#xff0c;与论文中的效果还是有些差距。改换思路使用离散小波变换&#xff0c;用变换之后的信号做生成任务则好了许多。从大二开始一直…

Banana Pi BPI-RV2 开发板矽昌通信 RISC-V路由芯片SF21H8898优势亮点

Banana Pi BPI-RV3开源路由器 1. 8898芯片具备强大的网络加速硬件性能&#xff0c;能够在小字节报文条件下实现高效数据转发&#xff1a;  单WAN口性能&#xff1a;支持 64 字节报文单向转发速率达到 2.5 Gbps&#xff0c;双向转发速率为 5 Gbps。双WAN口性能&#xff1a;支…

光谱相机在智能冰箱的应用原理与优势

食品新鲜度检测 详细可点击查看汇能感知团队实验报告&#xff1a;高光谱成像技术检测食物新鲜度 检测原理&#xff1a;不同新鲜程度的食品&#xff0c;其化学成分和结构会有所不同&#xff0c;在光谱下的反射、吸收等特性也存在差异。例如新鲜肉类和蔬菜中的水分、蛋白质、叶…

xxljob执行失败,xxl-job remoting error(sl.nts.com), for url : http://xxxxxxxxxx/run

问题 项目部署后&#xff0c;发现xxljob没有正常工作&#xff0c;报错 尝试解决&#xff1a; &#xff08;1&#xff09;检查xxljob配置&#xff08;无问题&#xff09; &#xff08;2&#xff09;检查服务器hosts文件域名配置&#xff08;依旧无问题&#xff09; 各种能检查…

什么是全息展示

全息展示。这一术语来源于“全息图”&#xff08;Holography&#xff09;的概念&#xff0c;而“全息图”这个词是由希腊词根 "holos" 演变而来&#xff0c;意为“整体的”或“完整的”。全息技术的核心在于它能够捕捉并再现物体的所有光学信息——不仅仅是强度&…

服务器内部是如何运行的

服务器内部的运行可以从硬件和软件两个方面来解释。 一、硬件层面 服务器的硬件与普通计算机相似,但它通常具有更高的性能和更强的扩展性。服务器硬件包括: 1.中央处理单元(CPU):负责执行服务器上的计算任务。服务器一般配备多核心的高性能CPU,以支持多个请求并行处理…

【Linux】文件操作、系统IO相关操作、inode和输入输出重定向

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;Linux 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 1、理解文件1.1 狭义理解1.2 广义理解1.3 文件操作1.4 系统角度 2、系统文件IO2.1 文件相关操作2.2 文件描述符2.3 重定向 3、动静…

Jetson Xavier NX (ARM) 使用 PyTorch 安装 Open3D-ML 指南

由于 Jetson 为 ARM64 (aarch64) 的系统架构&#xff0c;所以不能用 pip install 直接安装&#xff0c;需要通过源码编译。 升级系统 JetPack 由于 Open3D-ML 目前只支持 CUDA 10.0 以及 CUDA 11.*&#xff0c;并且 JetPack 的 CUDA 开发环境只有10.2、11.4以及12.2&#xff0…

【Vim Masterclass 笔记25】S10L45:Vim 多窗口的常用操作方法及相关注意事项

文章目录 S10L45 Working with Multiple Windows1 水平分割窗口2 在水平分割的新窗口中显示其它文件内容3 垂直分割窗口4 窗口的关闭5 在同一窗口水平拆分出多个窗口6 关闭其余窗口7 让四个文件呈田字形排列8 光标在多窗口中的定位9 调节子窗口的尺寸大小10 变换子窗口的位置11…