win10+vscode部署java开发环境

目录

  • Java开发插件配置:
  • 调试:
  • 快捷键:
  • 启动配置文件launch.json:
  • 启动配置说明:
    • Launch:
    • Attach:
    • User Setting:
  • 遇到的问题:
  • 参考:

Java开发插件配置:

Microsoft有个官方的插件Java Extension Pack,点开它的“依赖项”可以看到就是需要装的几个插件,可以直接装这个

或者

我们可以直接安装 Java 扩展包 ,里面包含了受大多数 Java 开发者欢迎的插件:

  • Language Support for Java(TM) by Red Hat:通过 Eclipse ™ JDT Language Server 提供 Java 语言支持
  • Debugger for Java:基于 Java Debug Server 的轻量级调试工具。
  • Java Test Runner:执行和调试 Java 测试用例。
  • Maven for Java:Maven 插件。

根据自己需要配置的插件:

  1. Spring Boot Support
  2. Spring Initializr Java Support
  3. Tomcat for Java
  4. CheckStyle for Java
  5. Lombok Annotations Support for VS Code
  6. Terminal

调试:

打开包含 Java 项目的代码,然后按下面的步骤进行:

  1. 准备项目。打开一个 .java 文件,Java 扩展会激活。Maven、Gradle 和 Eclipse 项目都能得到支持。这个扩展会自动构建项目,不需要手工触发构建。
  2. 开始调试。切换到调试视图(Ctrl+Shift+D),打开 launch.json 并添加 Java 调试配置。
  3. 在 mainClass 中填入要启动的类,或者在 hostName 中填入要附加的主机名以及在 port 中填入端口。
  4. 设置断点并按 F5 开始调试。

支持以下特性:

  • 启动/附加 - 你可以在 VS Code 中启动一个 Java 项目,也可以附加到一个在本地或远程端以调试模式运行的 JVM 进程。
  • 断点 - 支持表达式条件或命中条件断点,可以在内置的断点设置容器中轻松进行设置。因此你可以直接在源代码视图中插入断点,不需要弹出容器,非常方便。按异常中断也得到了支持。
  • 控制流 - 包括 暂停、继续 F5、单步 F0、步进 F11、步出(跳出) Shift+F11
  • 数据审查 - 当程序停止在断点上的时候,调试器可以访问当前内存中的变量名和值。支持查看/监视/设置变量值。
  • 诊断 - 调用栈 面板会显示程序的调用栈,你在这个面板中可以在捕获的调用路径中随意跳转。多线程调试也通过并行栈得到支持。
  • 调试控制台 - 可以从调试控制台看到标准输出和错误输出信息。

快捷键:

注释代码: Ctrl + /

切换侧边栏: Ctrl + b

文件夹中查找: Ctrl + shift + f

查找替换: Ctrl + shift + h

打开一个新的窗口:Ctrl +Shift + n

重构代码: fn + F2

代码格式化: Shift+Alt+F,或 Ctrl+Shift+P 后输入 format code

启动调试:F5

启动配置文件launch.json:

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"type": "java","name": "Debug (Launch) - Current File","request": "launch","vmArgs":"-Dserver.port=8082 -Dspring.profiles.active=dev -Dmaven.test.skip=true","mainClass": "${file}"},{"type": "java","name": "Debug (Launch)-SpringBootDemoApplication<SpringBootDemo>","request": "launch","vmArgs":"-Dserver.port=8081 -Dspring.profiles.active=dev -Dmaven.test.skip=true","mainClass": "com.qhong.SpringBootDemoApplication","projectName": "SpringBootDemo"}]
}

启动配置说明:

Launch:

  • mainClass (required): java 代码的 main 类 (例如:[mymodule/]com.xyz.MainClass).
  • args: 传递给程序的命令行参数
  • sourcePaths: 程序的额外源目录。默认情况下,调试器从项目设置中查找源代码。这个选项允许调试器在额外的目录中查找源代码
  • modulePaths: 用于启动JVM的模块路径。如果没有指定,调试器将自动从当前项目解析
  • classPaths: 启动JVM的类路径。如果没有指定,调试器将自动从当前项目解析
  • encoding: 该文件中的JVM的编码设置。如果没有指定,将使用’UTF-8’。在Supported Encodings 中可以找到可能的值
  • vmArgs: JVM的额外选项和系统属性(例如:-Xms<size> -Xmx<size> -D<name>=<value>)
  • projectName: 调试器在其中搜索类的首选项目。在不同的项目中可能会有重复的类名。当调试器在启动程序时查找指定的主类时,这个设置也可以工作。表达式求值是必须的
  • cwd: 程序的工作目录
  • env: 程序的额外环境变量
  • stopOnEntry: 启动后自动暂停程序
  • console: 用于启动程序的指定控制台。默认为 internalConsole
    • internalConsole: VS Code Debug 控制台 (输入不被支持)
    • integratedTerminal: VS Code 集成终端
    • externalTerminal: 可以在用户设置中配置的外部终端
  • stepFilters: 在执行debug调试时,跳过指定的类或方法
    • classNameFilters: 跳过指定的类。类名应该完全限定,支持通配符
    • skipSynthetics: 跳过synthetic 方法
    • skipStaticInitializers: 跳过静态初始化方法
    • skipConstructors: 跳过构造方法

Attach:

  • hostName (required): 远程调试器的主机名或IP地址
  • port (required): 远程调试器的debug端口
  • timeout: 重新连接之前的超时时间,以毫秒为单位(默认为30000ms)
  • sourcePaths: 程序的额外源目录。默认情况下,调试器从项目设置中查找源代码。这个选项允许调试器在额外的目录中查找源代码
  • projectName: 调试器在其中搜索类的首选项目。在不同的项目中可能会有重复的类名。当调试器在启动程序时查找指定的主类时,这个设置也可以工作
  • stepFilters: 在 debug 调试时,跳过指定的类或方法
    • classNameFilters: 跳过指定的类。类名应该完全限定,支持通配符
    • skipSynthetics: 跳过 synthetic 方法
    • skipStaticInitializers: 跳过静态初始化方法
    • skipConstructors: 跳过构造方法

User Setting:

  • java.debug.logLevel: 发送到VS代码的调试器日志的最低级别,默认为警告
  • java.debug.settings.showHex: 在变量视图中以十六进制格式显示数字,默认为false
  • java.debug.settings.showStaticVariables: 在variables视图中显示静态变量,默认为true
  • java.debug.settings.showQualifiedNames: 在变量视图中显示完全限定的类名,默认为false
  • java.debug.settings.maxStringLength: 变量视图或调试控制台中显示的最大字符串长度。超过此长度的字符串将被裁剪。默认值为0,表示没有进行修剪
  • java.debug.settings.enableHotCodeReplace: 启用Java源代码的热代码替换。确保VScode 中的 Java 代码没有禁用自动构建。有关用法和限制的更多信息,请参阅 wiki page

遇到的问题:

  1. 找不到主类等方法

找不到构建路径
等等一系列路径问题
解决方法:
可能是项目有错误(如子项目同名)或缓存问题。
1、可以按Ctrl+Shift+P,输入Java:Open Java Language Server Log file,查看日志文件来排错。
2、 同时删除C:\Users\AppData\Roaming\Code\CachedData目录下的缓存,重新打开VS Code是就能正常识别java文件和生成调试配置了。 (如果路径不对,就在日志文件里面找到路径,删除最新缓存(类似图中一串英文数字的文件夹),重新打开VS Code。)

参考:

win10+vscode部署java开发环境

VSCODE 打造完美java开发环境

Visual Studio Code 搭建 Java 开发环境

Java in Visual Studio Code

配置vscode调试java代码

VSCode搭建Java开发运行环境

Microsoft/vscode-java-debug

Debugging Java in Visual Studio Code

VS Code有哪些常用的快捷键?

转载于:https://www.cnblogs.com/hongdada/p/10118381.html

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

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

相关文章

类的带参方法有哪几部分构成?

类的带参方法有哪几部分构成&#xff1f; 发布于2015-11-08 12:27 main函数可以不带参数,也可以带参数&#xff0c;这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个&#xff0c;还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字…

新架构让数据中心犹如PC

摘要&#xff1a;随着VL2网络拓扑结构带来了对等带宽&#xff0c;大量数据可以存放在远方的数据中心&#xff0c;访问起来却犹如它们就在本地&#xff0c;这将对数据中心的架构产生重大影响。Todd Hoff参加了Hot Interconnects大会&#xff0c;对微软VL2架构做了详细解读。CSDN…

mongodb分片概念和原理-实战分片集群

一、分片分片是一种跨多台机器分发数据的方法。MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署。问题&#xff1a;具有大型数据集或高吞吐量应用程序的数据库系统可能会挑战单个服务器的容量。例如&#xff0c;高查询率会耗尽服务器的CPU容量。工作集大小大于系…

字符串的一些用法

一.Java字符串类基本概念在JAVA语言中&#xff0c;字符串数据实际上由String类所实现的。Java字符串类分为两类&#xff1a;一类是在程序中不会被改变长度的不变字符串&#xff1b;二类是在程序中会被改变长度的可变字符串。Java环境为了存储和维护这两类字符串提供了 String和…

获取BGR颜色的HSV值

import cv2import numpy as npgreen np.uint8([[[152, 245, 255]]]) # 输入待转换颜色的BGR值hsv_green cv2.cvtColor(green, cv2.COLOR_BGR2HSV)print(hsv_green)转载于:https://www.cnblogs.com/LicwStack/p/10129505.html

HTTP 协议是无状态协议,怎么理解

HTTP 是一个属于应用层的面向对象的协议&#xff0c;HTTP 协议一共有五大特点&#xff1a;1、支持客户/服务器模式&#xff1b;2、简单快速&#xff1b;3、灵活&#xff1b;4、无连接&#xff1b;5、无状态。 无连接 无连接的含义是限制每次连接只处理一个请求。服务器处理完客…

加入初创企业需要想清楚的几个问题

摘要&#xff1a;加入一家初创企业是一段充满冒险的旅程。沿途不会都是美景&#xff0c;更别忘了最初的梦想。 去初创公司面试&#xff0c;你一般会纠结于被问到什么问题。但更重要的是问自己&#xff1a;你下定决心在接下来的5年中“从头再来”吗&#xff1f;你能接受这份薪资…

类和对象的区别

类和对象的区别1&#xff0c;类是一个抽象的概念&#xff0c;它不存在于现实中的时间/空间里&#xff0c;类只是为所有的对象定义了抽象的属性与行为。就好像“Person&#xff08;人&#xff09;”这个类&#xff0c;它虽然可以包含很多个体&#xff0c;但它本身不存在于现实世…

IIS服务器SSL证书安装

在证书控制台下载IIS版本证书&#xff0c;下载到本地的是一个压缩文件&#xff0c;解压后里面包含.pfx文件是证书文件&#xff0c;pfx_password.txt是证书文件的密码。 友情提示&#xff1a; 每次下载都会产生新密码&#xff0c;该密码仅匹配本次下载的证书。如果需要更新证书文…

attempting to use incompatible return type 提示 解决

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、问题&#xff1a;方法返回类型上有红线&#xff0c;提示信息&#xff1a;... attempting to use incompatible return type 要返回…

地图市场三足鼎立:诺基亚官方确认与亚马逊合作

摘要&#xff1a;诺基亚确认为亚马逊新推出的平板提供地图服务&#xff0c;至此地图市场“三家分晋”的格局已趋明朗。 路透社之前曾报道称亚马逊在新版Kindle中将使用诺基亚提供的地图服务。但直到今日&#xff0c;这则消息才得到双方的确认。诺基亚方面确认将为亚马逊提供地图…

关于明晚即将发布的新款 iPad Pro,最大的亮点也许不是 Face ID

北京时间 10 月 30 日晚间 10 点&#xff0c;苹果将会在美国纽约的布鲁克林音乐学院举行新品发布会。考虑到此前苹果已经在 9 月的发布会上宣布了 Apple Watch Series 4 和 iPhone XS/Max、iPhone XR 等新品&#xff0c;因此苹果此次的纽约发布会&#xff0c;大家的目光更多地投…

重载

编程中重载的定义:函数名相同,函数的参数列表不同(包括参数个数和参数类型)&#xff0c;至于返回类型可同可不同。重载是可使函数、运算符等处理不同类型数据或接受不同个数的参数的一种方法&#xff0c;关于重载一词在词义上有两种不同的说法&#xff1a;多态&#xff1a;重载…

11. Container With Most Water

题意 给定n个非负整数\(a_1,a_2,...,a_n\),其中每个数表示坐标点\((i,a_i)\),i是数组下标,\(a_i\)是对应高度.寻找两条线,使得两条线构成的长方形面积最大,盛水最多. Example: Input: [1,8,6,2,5,4,8,3,7] Output: 49 解 暴力破解 对每种情况进行循环,计算对应的面积,同时保存最…

如何培养编程所需要的逻辑思维?

很少有人能单单通过所谓“逻辑思维”从复杂问题快速找到抽象的&#xff0c;如果有这样的人&#xff0c;他的经验&#xff0c;工具&#xff0c;方法和直觉通常起到比逻辑思维更重要的作用。写代码需要逻辑思维&#xff0c;但解决复杂问题更需要理解分析&#xff0c;写代码只是解…

jws 方式表格导出,excel文件导出,rest风格接口实现

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、思路&#xff1a;从数据库表中查出list &#xff0c;封装到 HSSFWorkook 中&#xff0c;再由HSSFWorkook 写出到 File 中, 用 res…

先思再行 闭着眼睛编程

摘要&#xff1a;解决问题最重要的习惯不是一直盯着屏幕和编写修改代码&#xff0c;某些时候&#xff0c;阻止你成功的东西恰恰会是过于努力。这时候你需要暂停一下&#xff0c;平缓你的思绪&#xff0c;换一种方法或许能带给你不一样的效果。你会花多少时间思考如何编写代码&a…

javaScript复习

ES6字符串方法&#xff1a; //console.log(String.prototype);var str "abcdefabc";//console.log(str.includes("a"));//结果true//console.log(str.includes("abf"));//结果false//console.log(str.startsWith("d"));//false//cons…

STS的安装教程-鹏鹏

STS全称Spring Tools Suite。 简介&#xff1a;Spring Tools Suite (STS)其实就是一个被包装过的Eclipse&#xff0c;主要用于快速的开发Spring项目&#xff0c;我们不用再去编辑繁琐的xml配置文件&#xff0c;而是由工具自动生成。STS有两种安装方式&#xff0c;一种是直接在E…

final的用法

final 根据程序上下文环境&#xff0c;Java关键字final有“这是无法改变的”或者“终态的”含义&#xff0c;它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变&#xff1a;设计或效率。 final类不能被继承&#xff0c;没有子类&#xff0c;f…