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)打开快速打开面板(上方),搜索指定文件
  • 通过左侧栏的搜索(放大镜图标)进行关键字搜索

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI模型提示词(prompt)优化-实战(一)

一、prompt作用 用户与AI模型沟通的核心工具,用于引导模型生成特定内容、控制输出质量、调整行为模式,并优化任务执行效果,从而提升用户体验和应用效果 二、prompt结构 基本结构 角色:设定一个角色,给AI模型确定一个基…

Unreal Engine 5 C++ Advanced Action RPG 十章笔记

第十章 Survival Game Mode 2-Game Mode Test Map 设置游戏规则进行游戏玩法 生成敌人玩家是否死亡敌人死亡是否需要刷出更多 肯定:难度增加否定:玩家胜利 流程 新的游戏模式类游戏状态新的数据表来指定总共有多少波敌人生成逻辑UI告诉当前玩家的敌人波数 3-Survival Game M…

设计模式的艺术-代理模式

结构性模式的名称、定义、学习难度和使用频率如下表所示: 1.如何理解代理模式 代理模式(Proxy Pattern):给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式是一种对象结构型模式。 代理模式类型较多…

每日一题洛谷P1423 小玉在游泳c++

#include<iostream> using namespace std; int main() {double s;cin >> s;int n 0;double sum 0;double k 2;while (sum < s) {sum k;n;k * 0.98;}cout << n << endl;return 0; }

Python3 OS模块中的文件/目录方法六

一. 简介 前面文章简单学习了Python3中 OS模块中的文件/目录的部分函数。 本文继续来学习 OS模块中文件、目录的操作方法。 二. Python3 OS模块中的文件/目录方法 1. os.lseek() 方法、os.lstat() 方法 os.lseek() 方法用于在打开的文件中移动文件指针的位置。在Unix&#…

HTB:Heist[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用smbclient匿…

【HarmonyOS NEXT】华为分享-碰一碰开发分享

关键词&#xff1a;鸿蒙、碰一碰、systemShare、harmonyShare、Share Kit 华为分享新推出碰一碰分享&#xff0c;支持用户通过手机碰一碰发起跨端分享&#xff0c;可实现传输图片、共享wifi等。我们只需调用系统 api 传入所需参数拉起对应分享卡片模板即可&#xff0c;无需对 U…

使用Inno Setup软件制作.exe安装包

1.下一步&#xff1a; 2. 填写 程序名字 和 版本号&#xff1a; 3.设置安装路径信息 4.添加要打包的exe和依赖文件 5.为应用程序创建关联的文件 如果不需要就直接取消勾选 6.创建快捷方式 &#xff08;1&#xff09;第一种&#xff1a;常用 &#xff08;1&#xff09;第二种&am…

CPU 缓存基础知识

并发编程首先需要简单了解下现代CPU相关知识。通过一些简单的图&#xff0c;简单的代码&#xff0c;来认识CPU以及一些常见的问题。 目录 CPU存储与缓存的引入常见的三级缓存结构缓存一致性协议MESI协议缓存行 cache line 通过代码实例认识缓存行的重要性 CPU指令的乱序执行通过…

初步搭建并使用Scrapy框架

目录 目标 版本 实战 搭建框架 获取图片链接、书名、价格 通过管道下载数据 通过多条管道下载数据 下载多页数据 目标 掌握Scrapy框架的搭建及使用&#xff0c;本文以爬取当当网魔幻小说为案例做演示。 版本 Scrapy 2.12.0 实战 搭建框架 第一步&#xff1a;在D:\pyt…

Python - itertools- pairwise函数的详解

前言&#xff1a; 最近在leetcode刷题时用到了重叠对pairwise,这里就讲解一下迭代工具函数pairwise,既介绍给大家&#xff0c;同时也提醒一下自己&#xff0c;这个pairwise其实在刷题中十分有用&#xff0c;相信能帮助到你。 参考官方讲解&#xff1a;itertools --- 为高效循…

YOLO-cls训练及踩坑记录

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 一、模型训练 二、测试 三、踩坑记录 1、推理时设置的imgsz不生效 方法一&#xff1a; 方法二&#xff1a; 2、Windows下torchvision版本问题导致报错 总结 前…

云计算、AI与国产化浪潮下DBA职业之路风云变幻,如何谋破局启新途?

引言 在近日举办的一场「云和恩墨大讲堂」直播栏目中&#xff0c;云和恩墨联合创始人李轶楠、副总经理熊军和欧冶云商数据库首席薛晓刚共同探讨了DBA的现状与未来发展。三位专家从云计算、人工智能、国产化替代等多个角度进行了深入的分析和探讨&#xff0c;为从业者提供了宝贵…

PAT甲级-1017 Queueing at Bank

题目 题目大意 银行有k个窗口&#xff0c;每个窗口只能服务1个人。如果3个窗口已满&#xff0c;就需要等待。给出n个人到达银行的时间和服务时间&#xff0c;要求计算每个人的平均等待时间。如果某个人的到达时间超过17:00:00&#xff0c;则不被服务&#xff0c;等待时间也不计…

从零安装 LLaMA-Factory 微调 Qwen 大模型成功及所有的坑

文章目录 从零安装 LLaMA-Factory 微调 Qwen 大模型成功及所有的坑一 参考二 安装三 启动准备大模型文件 四 数据集&#xff08;关键&#xff09;&#xff01;4.1 Alapaca格式4.2 sharegpt4.3 在 dataset_info.json 中注册4.4 官方 alpaca_zh_demo 例子 999条数据, 本机微调 5分…

AI刷题-策略大师:小I与小W的数字猜谜挑战

问题描述 有 1, 2,..., n &#xff0c;n 个数字&#xff0c;其中有且仅有一个数字是中奖的&#xff0c;这个数字是等概率随机生成的。 Alice 和 Bob 进行一个游戏&#xff1a; 两人轮流猜一个 1 到 n 的数字&#xff0c;Alice 先猜。 每完成一次猜测&#xff0c;主持会大声…

【数据分享】1929-2024年全球站点的逐年最低气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff01;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2024年全球气象站点…

CSDN 博客之星 2024:默语的技术进阶与社区耕耘之旅

CSDN 博客之星 2024&#xff1a;默语的技术进阶与社区耕耘之旅 &#x1f31f; 默语&#xff0c;是一位在技术分享与社区建设中坚持深耕的博客作者。今年&#xff0c;我有幸再次入围成为 CSDN 博客之星TOP300 的一员&#xff0c;这既是对过往努力的肯定&#xff0c;也是对未来探…

计算机网络 (56)交互式音频/视频

一、定义与特点 定义&#xff1a;交互式音频/视频是指用户使用互联网和其他人进行实时交互式通信的技术&#xff0c;包括语音、视频图像等多媒体实时通信。 特点&#xff1a; 实时性&#xff1a;音频和视频数据是实时传输和播放的&#xff0c;用户之间可以进行即时的交流。交互…

Node.js——express中间件(全局中间件、路由中间件、静态资源中间件)

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…