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

一、基本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.rhkb.cn/news/5725.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Autosar CP中SWC收发LIN消息的函数调用流程原理解析

Part 1:SWC发送 在AUTOSAR架构中,软件组件(SWC,Software Component)要发送LIN消息时,通常通过COM模块的接口来发起请求。这是因为COM模块是AUTOSAR架构中负责信号和数据传输的核心模块,它为SWC提…

Flink Gauss CDC:深度剖析存量与增量同步的创新设计

目录 设计思路 1.为什么不直接用FlinkCDC要重写Flink Gauss CDC 2.存量同步的逻辑是什么 2.1、单主键的切片策略是什么 2.2、​​​​​复合主键作切片,怎么保证扫描到所有的数据 3、增量同步的逻辑是什么 4、存量同步结束之后如何无缝衔接增量同步 5、下游数据如何落…

C#,入门教程(06)——解决方案资源管理器,代码文件与文件夹的管理工具

上一篇: C#,入门教程(05)——Visual Studio 2022源程序(源代码)自动排版的功能动画图示https://blog.csdn.net/beijinghorn/article/details/124675293 大家平时都怎么管理源代码与文件夹呢?世界上最好的集成开发环境…

【时时三省】(C语言基础)文件的顺序读写

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 文件顺序读写 示例: 这个会输出bit 如果把写文件的内容屏蔽掉 它就会把它清空 流 高度抽象的概念 可以往流里面写数据 c语言程序,只要运行起来,就默认…

Web安全攻防入门教程——hvv行动详解

Web安全攻防入门教程 Web安全攻防是指在Web应用程序的开发、部署和运行过程中,保护Web应用免受攻击和恶意行为的技术与策略。这个领域不仅涉及防御措施的实现,还包括通过渗透测试、漏洞挖掘和模拟攻击来识别潜在的安全问题。 本教程将带你入门Web安全攻防…

Bigemap pro批量设置属性/填充字段

在图层里面有大量点位或者线面需要批量编辑时,可以借助bigemap pro软件来进行编辑修改 第一步:在对应图层点击右键,选择样式,选择需要修改的点线面来设置图标、大小等,如图所示: 第二步:设置要…

全球化趋势与中资企业出海背景

1. 全球化趋势与中资企业出海背景 1.1 全球经济格局变化 全球经济格局正经历深刻变革,新兴经济体崛起,全球产业链重塑,中资企业出海面临新机遇与挑战。据世界银行数据,新兴市场和发展中经济体在全球 GDP 中占比已超 40%&#xff…

汇编与逆向(二)-汇编基础

一、汇编入门 (一)x86体系的CPU的工作模式 有两种基本的工作模式:实模式和保护模式。 实模式:也称为实地址模式,该模式最早被DOS,win9x所支持。可访问1M内存,可直接访问硬件,如对…

【游戏设计原理】77 - 沙盒与导轨

沙盒式体验和导轨式体验是游戏设计中两种截然不同的理念和手法,它们各自的特性和目标受众决定了其适用场景和设计思路。以下是对这两种体验的理解: 一、沙盒式体验 核心特点 自由度高:沙盒游戏给予玩家极大的自由,让他们自己决定…

【STM32】-TTP223B触摸开关

前言 本文章旨在记录博主STM32的学习经验,我自身也在不断的学习当中,如果文章有写的不对的地方,欢迎各位大佬批评指正。 准备工作 今天这篇文章介绍的是触摸开关这一外围硬件。 ST-link调试器STM32最小系统板单路TTP223B触摸传感器模块LE…

Python的进程和线程

ref 接受几个设定: 进程是一家almost密不透风的公司,缅甸KK园区 线程里面工作的…人 进程**[园区]**内公共资源对于进程来说,可以共享. 别的园区[进程],一般不能和自己的园区共享人员资源,除非… 好的,现在再接受设定: 单个CPU在任一时刻只能执行单个线程,只有…

消息队列篇--原理篇--Pulsar和Kafka对比分析

Pulsar和Kafka都是高性能、分布式的消息队列系统,广泛应用于大规模数据流处理和实时分析场景。然而,它们的设计哲学、架构特点和适用场景存在显著差异。以下是Pulsar和Kafka的详细对比,帮助你根据具体需求选择最合适的技术。 1、架构设计 P…

Git实用指南:忽略文件、命令别名、版本控制、撤销修改与标签管理

目录 1.忽略特殊文件 1.1.那如何配置我们需要忽略的文件的呢? 1.2.如何检验效果? 2.给命令配置别名 3.基本操作之版本回退 3.1.使用场景: 3.2.使用方法: 4.撤销修改 情况一:对于工作区的代码,还没…

Saas Paas Iaas服务区别

Saas、Paas和Iaas是云计算中常见的服务模式,它们分别代表软件即服务(Software as a Service)、平台即服务(Platform as a Service)和基础设施即服务(Infrastructure as a Service)。仅供大家参考…

nslookup在内网渗透的使用

1. 什么是 nslookup? nslookup(Name Server Lookup)是一个用于查询 DNS(域名系统)记录的命令行工具。通过该工具,用户可以查询域名的解析结果,例如获取某个域名对应的 IP 地址或查找域名的相关记…

博客搭建 — GitHub Pages 部署

关于 GitHub Pages GitHub Pages 是一项静态站点托管服务&#xff0c;它直接从 GitHub 上的仓库获取 HTML、CSS 和 JavaScript 文件&#xff0c;通过构建过程运行文件&#xff0c;然后发布网站。 本文最终效果是搭建出一个域名为 https://<user>.github.io 的网站 创建…

pikachu靶场-敏感信息泄露概述

敏感信息泄露概述 由于后台人员的疏忽或者不当的设计&#xff0c;导致不应该被前端用户看到的数据被轻易的访问到。 比如&#xff1a; ---通过访问url下的目录&#xff0c;可以直接列出目录下的文件列表; ---输入错误的url参数后报错信息里面包含操作系统、中间件、开发语言的版…

阿九的python 爬虫进阶课18.3 学习笔记

文章目录 前言1. 爬取大标题2. 爬取小标题3. 证券栏下的标题4. 某篇文章里的具体内容 前言 网课链接&#xff1a;https://www.bilibili.com/video/BV1kV4y1576b/新浪财经网址&#xff1a;https://finance.sina.com.cn/需先下载库&#xff1a; conda install lxml布置爬取的一…

客户案例:电商平台对帐-账单管理(亚马逊amazon)

账单管理&#xff1a; 功能定义&#xff1a; 账单管理用于上传亚马逊&#xff08;amazon&#xff09;平台下载的原始账单数据&#xff0c;美国站、日本站、墨西哥站等账单模板直接进行数据上传&#xff0c;做到0调整&#xff0c;下载下来的账单数据无缝上传至对账平台-账单管…

web端ActiveMq测试工具

如何用vue3创建简单的web端ActiveMq测试工具&#xff1f; 1、复用vue3模板框架 创建main.js,引入APP文件&#xff0c;createApp创建文件&#xff0c;并加载element插件&#xff0c;然后挂载dom节点 2、配置vue.config.js脚本配置 mport { defineConfig } from "vite&qu…