电脑java编程怎么样用(终极指南:如何使用 Visual Studio Code 进行 Java 开发?)
VSCode(VisualStudioCode)已成为多语言开发人员的首选文本编辑器。大量Javascript、TypeScript、Go、Python和其它语言的开发人员都在使用VSCode进行编码,这部分归功于VSCode扩展形成的庞大生态系统。这些扩展增强和丰富了VSCode的体验,使其成为类IDE的超级智能文本编辑器,同时它又极其快速和轻量级。
VSCode支持了Java开发,许多Java拥护者和演讲者都使用它上台演讲做现场演示。
以下是2019年Java开发人员使用VSCode开发、运行、调试和部署其应用程序的终极指南。
如果您尚未下载VSCode,那现在就下载并安装它吧。接下来本指南将假定您至少安装了Java8,尽管VSCode也支持Java11。您也可以完全跳过本指南,直接参考文档《用VSCode开发Java应用》。但是,建议对照下面的指南走查一遍重点部分,这将有助于您更好地利用VSCode进行Java开发。
初始设置
为了使VSCode支持核心Java,作为最低要求,您必须安装一组扩展。让我们逐一深入研究这些扩展。
微软的Java扩展包(JavaExtensionPack)
这个扩展包包含了下文将要详细介绍的五个扩展。借助它,你无需过多了解就可以开始使用VSCode。
红帽的Java语言支持扩展(LanguageSupportforJava)
要使VSCode支持Java,这是唯一一个必须安装的扩展。其它扩展都是补充性的,您需要根据要开发的项目决定是否要安装它们。
安装完这个扩展后,您就可以阅读和编辑Java源代码了。首先创建一个Helloworld.java文件,然后用VSCode打开(或者在VSCode中创建该文件,然后把它保存在某个文件夹中)。
完成后,您可以打开终端(在MacOS中,使用组合键?+`),然后输入命令javacHelloWorld.java进行编译。
VSCode里内嵌的终端
编译后会产生一个Helloworld.class文件。最后,用Java命令运行这个类:javahelloworld。
Java语言支持扩展通过使用Eclipse语言服务器协议(EclipseLanguageServerProtocol)支持Java。了解有关EclipseLSP的更多信息。
其它特性
Java语言支持扩展添加了许多其它功能,可以帮助您快速浏览、编写、重构和阅读Java源代码,您不妨使用VSCode这个轻量级文本编辑器来替代其它IDE。
面包屑导航(顶部)—大纲视图(左下角)
查看概述页面可以获取这个扩展的特性以及重构快捷键的完整列表。
微软的Java调试器(DebuggerforJava)
掌握了在VSCode中编写和阅读Java代码的基础知识后,下一步自然就是运行和调试代码了。这正是该扩展提供的功能。这个扩展使用您计算机上的默认JAVA_HOME,当然您也可以自定义它。
运行|调试Java应用
它具备常见的JavaIDE调试特性的所有能力,并且支持更多的自定义,可以让您控制代码如何被执行以及调试器如何连接到JVM。它还支持远程JVM。
安装这个扩展后,您会在主方法上方看到两个超链接,如上图所示。若您单击运行,代码将被编译并执行。您还可以设置断点并点击调试。
对于远程调试,您需要添加新的配置。切换到调试视图(在Mac上按Shift+?+D)并点击配置按钮?。这样会打开launch.json文件。单击屏幕上的添加配置蓝色按钮。这会打开一个如上图所示的弹出菜单。
现在,您可以自定义一个能插入远程JVM的启动项了。您只需提供主机名、端口号等详细信息。
和其它调试IDE一样,您可以在运行期间查看变量、堆栈追踪,甚至对变量内容进行更改。
VSCode里在调试过程中更改Java变量
至此,我们完成了用于阅读、编写、运行和调试Java代码的VSCode基本设置。
中级设置
掌握了Java编码的基础知识后,您很快就需要使用库、依赖项、类路径等。在VSCode上进一步改进Java支持的最佳方法是添加以下三个扩展:
1.Java依赖查看器(JavaDependencyViewer)
2.针对Java的Maven扩展(MavenforJava)
3.微软的Java测试运行器(JavaTestRunner)
让我们分别看一下这几个扩展。
微软的Java依赖查看器
这个扩展为您提供两个核心功能。其中主要的一个功能是提供了“项目”的概念,您可以手动向项目中添加库(JAR)。第二个功能使项目当前设置的classpath可视化,即使是Maven项目(参见下文针对Java的Maven扩展)。
打开命令托盘(Shift+?+P)并输入createjava:
创建一个Java工程
您需要选择创建项目的位置。项目由与项目名称同名的文件夹组成(您选择了创建项目的位置后,接下来命令托盘会继续询问项目名称,例如你可以输入myworkspace)。
创建项目后,VSCode将在新窗口中打开这个新文件夹。
新的Java工程
就像您看到的那样,这个项目具有一个基本结构,其中包含了bin和src文件夹。在src中,开始会有一个基本的Java类。如果您是一位经验丰富的Java开发人员,一眼就会发现这个扩展使用的是Eclipse项目的格式,这是因为它与Eclipse语言服务器协议和其它扩展能很好的协同工作。
添加类库和JAR包
您可以编辑.classpath文件,指定全部自定义JAR包所在的目录,这个目录可以放在任何位置,例如某个lib文件夹。这些扩展会自动加载classpath中包含的类库,使你能够运行自己的代码。
编辑.classpath文件增加类库
微软的针对Java的Maven扩展
Maven是Java生态系统中使用最广泛的项目构建和依赖关系管理工具。因此,通过该扩展,您几乎可以用VSCode处理任何类型的Java项目。
您将能够通过Maven原型(archetype)生成和引导Maven项目、管理依赖关系并触发Maven目标(goal),并借助一些智能代码补全功能编辑pom.xml文件。
Maven命令
让我们来看一下:
再次打开命令托盘,然后输入Maven。选择GeneratefromMavenArchetype。选择maven-archetype-quickstart。
这个扩展会要求您选择目标文件夹,以便在其下面生成项目文件夹。输入焦点会跳转到终端,您必须在那里输入Maven命令行的参数,不过不用担心,它会一步一步地引导您。
创建项目后,直接从终端调用code即可打开它。
在VSCode中打开新创建的目录
好了,您现在应该已经在VSCode中打开您的Maven项目了。您可以做的最基本的事情就是运行您的代码。您有两个选择:
1.如前所述,使用App类中main方法旁边的Run超链接运行您的代码。
2.使用Maven。
如果您使用Java调试扩展(运行|调试)触发器,扩展将使用Maven生成的classpath,以确保所有依赖项都正确地添加到类路径中。
如果使用Maven运行Java代码,您可以像往常一样使用终端,或者打开命令托盘并输入MavenExecuteCommands。
显示Maven动作的命令托盘
它会要求您选择一个项目。由于您只有一个项目,直接在其上按回车即可。接下来,您将看到一个列表,它包含了所有默认的核心Maven目标。选择package生成JAR文件。
如果要运行自定义目标,例如从Maven插件继承的目标,您可以使用Maven视图:
执行来自Maven插件的目标
编辑pom.xml文件并添加依赖项后,VSCode将自动重新加载classpath,然后您就可以从新的依赖项中导入类和包。这个过程非常干净、顺畅。
Microsoft的Java测试执行器
最后一步是增强单元测试的运行、调试和测试结果的可视化。此扩展程序将超链接添加到可以单独执行的单元测试(支持JUnit和TestNG),您可以立即在VSCode中看到报告,如下面的示例所示。
在VSCode中运行单元测试
此扩展还将启用测试资源管理器视图,因此您可以专注于代码的单元测试,并以更加符合测试驱动开发(TDD)的方式编写软件。
测试浏览器
此扩展目前仅适用于Maven项目,因此请确保您安装了针对Java的Maven扩展。
高级设置
如果您现在对使用VSCode进行Java开发感到满意,那么是时候进一步改善您的使用体验了。以下是一些扩展列表,可以改善您的日常工作体验。
这只是接下来要添加哪些扩展的建议,而不是事实标准的列表,但它可以让您先行一步。
GitLens
希望您已经在使用Git了,无论是通过GitHub还是其它任何服务或环境。此扩展为您提供有关源代码著作信息的洞察,例如“谁添加了此方法以及何时添加”。
上图就是安装了GitLens后Java类的样子。看看那些没有数字的行,它们是对提交历史的注释。您也可以简单地将鼠标悬停在特定的行上,它将显示这一行是何时、由谁、在哪个提交哈希上添加的。
Rest客户端
如果您是构建RESTAPI的开发人员,那么这是您必须安装的VSCode的扩展。有了它,您将能够编辑包含HTTP调用的.http文件。编辑器将快速提供代码片段和模板,它会为您提供一个即点生效的神奇的超链接,它会触发HTTP调用并在旁边打开结果。下图是一个快速浏览。
就这样了!您现在拥有一份完整的VSCode设置,可以实际进行任何类型的Java开发了。
福利:Pivotal的Spring设置和Gradle
如果你是一个狂热的Spring开发人员,一定想知道Pivotal和微软提供的那些能增强SpringBoot应用开发体验的重要扩展。
最后,有一个可以帮助您编写build.gradle文件的Gradle扩展。
以下是一些额外的Spring工具供进一步学习:
SpringBootTools
SpringInitializrJavaSupport
SpringBootDashboard
GradleLanguageSupport
查看英文原文:https://dzone.com/articles/visual-studio-code-for-java-the-ultimate-guide-201