VS Code Java 2 月更新!教育特别版:单元测试、GUI开发支持、Gradle项目创建、以及更多!
新春快乐!欢迎来到 Visual Studio Code Java 的 2 月更新,这个月我们给大家带来了一期教育特别版。每年的年初是许多学校开学的时间,为了给学生和教师提供在 Visual Studio Code 上带来更好的 Java 的开发体验,我们在单元测试、GUI 项目开发以及Gralde项目创建方面进行了一系列改进。让我们来看看这些新功能吧!
在基础 Java 项目中轻松启用单元测试
我们收到很多学生的反馈,在开发一个简单的 Java 项目时,他们总是必须手动将测试框架 JAR包(如 JUnit)添加到项目中,而我们的 Java 插件没有提供功能来帮助它们解决这个经常重复的操作。为了解决这个问题,我们在插件中添加了一个“ 启动单元测试 ”的新功能,这样如果您的项目(假设它是一个没有构建工具的基本项目)不包含任何与测试相关的库,您可以轻松添加 JAR 并在您的项目中启用单元测试.
要使用此功能,只需跳转到“Testing”视图并选择“Enable Java Testing”(如下图所示)。

此功能将为您做两件事:
- 根据您的选择下载测试相关的 JAR包(JUnit、JUnit Jupiter、TestNG)
- 将下载的 JAR 添加到项目库文件夹
这是该功能的演示:

使用该功能后,您便可以直接开始编写单元测试!您可以在Extension Pack for Java的最新更新中获得此功能。
对 GUI 项目(JavaFX、Swing 和 AWT)的更好支持
基于 GUI 的 Java 应用程序开发在学校计算机课程中很常见。最常用的 GUI 框架是 JavaFX、Swing 和 AWT。在本次博客中,我们将介绍近期对这些框架做的一些优化。
JavaFX
用户现在可以直接通过新功能直接创建JavaFX 项目。要使用这个新功能,只需调出命令面板(Ctrl+Shift+P)并运行命令“ Java: Create Java Project ”。从下拉列表中,选择“ JavaFX ”。选择此项后,将为您创建一个基于 Maven archetype的 JavaFX 项目。

要运行 JavaFX 应用程序,您可以打开Maven视图,展开hellofx > Plugins > javafx并运行 Maven 目标: javafx:run 。

我们还意识到学生可能正在使用其他构建工具 ( Gradle ) 或不使用构建工具来处开发JavaFX 项目,因此我们为所有这些不同情况提供了完整的 JavaFX 示例。请在此示例库中找到适用于 Visual Studio Code 的最新 JavaFX示例。
Abstract Window Toolkit (AWT)
AWT 是另一个在 Java GUI 应用程序开发中流行的框架。但是,AWT中的类型由于某些限制在代码补全时默认是隐藏的,因此您可能会注意到在处理 AWT 应用程序时代码补全不会提示 AWT 类。要为 AWT 启用代码补全,您可以打开命令面板(Ctrl+Shift+P) ,然后选择命令Java: Help Center 。转到Student部分并选择Enable AWT Development 。请注意,此操作将更新工作区级别的设置,因此请确保在 Visual Studio Code 中打开了工作区。这是该功能的演示:

启用设置后,代码补全就可以在 AWT 项目中工作了!您可以使用此基本示例代码在 Visual Studio Code 上测试您的 AWT。
Swing
默认情况下,Java 插件包支持 Swing 应用程序开发。您可以直接开发任何 Swing 应用程序,无需额外设置。要查找更多 Swing 示例,您可以访问Oracle 官方文档。
相关文档
除了这些功能更新外,我们还在 Visual Studio Code 官方文档中添加了专门的 Java GUI 应用程序开发文章。我们希望本文可以帮助学生和教育工作者轻松开始 GUI 开发和设置项目。
更简单的Gradle项目创建流程
除了单元测试和 GUI 应用程序之外,我们还看到 Gradle 在学生和专业开发者中变得越来越流行。因此,我们在 Java 项目创建工作流程中添加了对 Gradle 项目创建的支持。此功能将帮助您通过几个步骤引导一个简单的 Gradle 项目。要使用此功能,只需调出命令面板 (Ctrl+Shift+P),然后运行“Java: Create Java Project”,并从列表中选择“Gradle”。目前,此功能同时支持将 Groovy 和 Kotlin 作为您的DSL。请注意这项新功能需要您单独安装 Gradle for Java这个插件(目前还未包括在Java插件包中)。

您也可以直接通过Java Project视图里的”Create Java Project”按钮直接调出此功能。

要使用上述所有新功能,请下载最新版本的Extension Pack for Java。
反馈与建议
2022 年,Visual Studio Code 上的 Java 会有很多激动人心的更新,一如既往,您的反馈和建议对我们非常重要,将有助于我们未来的产品塑造。有几种方法可以给我们留下反馈
资源
以下链接和资源能帮助您更好地了解Java on Visual Studio Code的相关信息
VS Code Java 2 月更新!教育特别版:单元测试、GUI开发支持、Gradle项目创建、以及更多!的更多相关文章
- VS Code Java 3月更新|代码补全、Maven 以及 Java 插件预览版本新升级!
Nick Zhu Senior Program Manager, Developer Division at Microsoft 大家好,欢迎来到 Visual Studio Code Java 的 ...
- java web项目部署到tomcat 8.5 此驱动程序不支持 Java Runtime Environment (JRE) 1.8 版。请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库
1:项目使用的是jre1.8版本. 2:服务器 apache-tomcat-8.5.23 报错如下: 严重 [com.mchange.v2.async.ThreadPoolAsynchronousRu ...
- Charles V4系列更新 | 绿色特别版 | 视频教程
Charles V4.0 视频教程 http://www.cnblogs.com/weimjsam/p/5841816.html Charles V4系列 绿色特别版,解压密码:博客名 链接: htt ...
- VS Code Java 更新 – 全新Gradle for Java插件,更方便的代码操作, 1.0 语言支持发布
大家好,欢迎来到 9 月版的 Visual Studio Code Java 更新.在这篇文章中,我们将分享我们最新的Gradle插件,更加方便的代码操作(Getter/Setter等等),以及最近的 ...
- Pycharm学生版安装教程(2019-12月更新)
以下方法全部是官方渠道正版激活,可选择学生版(免费) 或企业版(付费) 我的机器学习教程「美团」算法工程师带你入门机器学习 以及 「三分钟系列」数据结构与算法 已经开始更新了,欢迎大家订阅~这篇专 ...
- 2018年4月更新70多个公司dnc招聘职位
2018年4月更新70多个公司dnc招聘职位 请在本页回复,补充dnc招聘信息.公司案例 dnc简介 dnc = .NET Core.dotnet Core简写 dnc是微软新一代主力编程平台,开源. ...
- java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器
java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器 下载地址:http://yunpan.cn/QXhEcGNYLgwTD 运行方式:java -jar Encryp ...
- R.java不能自动更新
1. The type R is already defined. (很多时候我们在导入其他人的程序的时候,会遇到这个错误) 通常在project里有两个R.java,一个在src,一个在gen,通常 ...
- 混淆器:java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器
java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器 下载地址:http://yunpan.cn/QXhEcGNYLgwTD 运行方式:java -jar Encryp ...
随机推荐
- Eclipse配置Maven3.5
原文: https://www.toutiao.com/i6494558327622599181/ 配置Maven 首先保证Java环境是有的(Maven 3.1以上 要求 JDK 1.6 或以上版本 ...
- Spring Security OAuth2 完全解析 (流程/原理/实战定制) —— Client / ResourceServer 篇
一.前言 本文假设读者对 Spring Security 本身原理有一定程度的了解,假设对 OAuth2 规范流程.Jwt 有基础了解,以此来对 SpringSecurity 整合 OAuth2 有个 ...
- Go Error 嵌套到底是怎么实现的?
原文链接: Go Error 嵌套到底是怎么实现的? Go Error 的设计哲学是 「Errors Are Values」. 这句话应该怎么理解呢?翻译起来挺难的.不过从源码的角度来看,好像更容易理 ...
- Solon 开发
Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注 ...
- 微信小程序入门教程之四:API 使用
今天是这个系列教程的最后一篇. 上一篇教程介绍了,小程序页面如何使用 JavaScript 脚本.有了脚本以后,就可以调用微信提供的各种能力(即微信 API),从而做出千变万化的页面.本篇就介绍怎么使 ...
- fluentd分布式日志管理系统
如何有效地收集和管理大量服务器的日志一直是企业很头疼的一个问题,部分企业应用shell脚本来管理,部分企业基于hadoop来开发自己的日志管理系统,第一种管理成本巨大,需要大量的人力来维护脚本的正常运 ...
- Iptables的命令与用法
目录 一:iptables的用法 1.iptables简介 二:Iptables链的概念 1.那四个表,有哪些作用? 2.那五条链,运行在那些地方? 3.Iptables流程图 三:iptables的 ...
- python内置re模块全面实战
目录 一:取消转义 二:python内置模块之re模块 三:常用方法 findall search match 简便 四:常用方法 finditer 匹配文件多情况 五:切割 替换 内置模块 六:分组 ...
- C++的set重载运算符
转载: https://www.cnblogs.com/zhihaospace/p/12843802.html set 容器模版需要3个泛型参数,如下: template<class T, cl ...
- [论文][半监督语义分割]Adversarial Learning for Semi-Supervised Semantic Segmentation
Adversarial Learning for Semi-Supervised Semantic Segmentation 论文原文 摘要 创新点:我们提出了一种使用对抗网络进行半监督语义分割的方法 ...