VSCode中配置和使用Java的方法


本文摘自PHP中文网,作者青灯夜游,侵删。

本篇文章给大家介绍一下VScode + Java 配置与使用。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

相关推荐:《vscode基础教程》

1 vs code

也是刚刚接触 vs code,但是一见钟情。

最近在试着使用 nim language,推荐用 vs code,就试用了一下,然后一发不可收拾。于是有了一个大胆的想法,干脆全部转到 vs code 上来吧,现在的情况是什么呢?前段用 webstorm/sublime,java 用 idea,python 用 PyCharm, ruby 用 RubyMine, c# 用 vs express,多麻烦啊。

vs code 其实就是的编辑器,是个马甲,但是各种语言都可以实现对应的插件,包装成一个 ide,这很好,很先进!最最最关键的是,开源,免费!

1.1 什么是 IDE

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。

如微软的Visual Studio系列,作为 c++/c# IDE;
Java 的 IDE 如 Eclipse 和 IntelliJ IDEA。

1.2 VS code 是个编辑器

vs code 并不是一个 IDE,它是个编辑器,是个有理想的编辑器,可以通过相应语言的插件,将其包装成一个 IDE。

vi 也是一个编辑器,很多程序员就是使用 vi 来做开发,构建用独立的工具,比如 make,ant,maven,gradle 等等。ctags 用来对源代码中的符号建索引。。。。

那么对于程序员来说,怎样的编辑器来算是好用的呢?

  • 打开文件,方便快捷,语法高亮,美观!

  • 编辑:增删改查,丰富快捷

  • 符号:符号定义查询、跳转,符号引用…

  • 依赖管理:自动导入依赖包

  • 分析:类结构,继承关系…

  • 自动提示 …

  • 其他高级特性。。。

上述特性里面,有些是 vs code 可以做的,有些是必须由插件来完成的。比如符号和依赖管理等跟语言特征相关的,那就必须由相应语言的插件来完成,你不能在使用 vs code 时,因为代码无法跳转到definition,就骂 vs code 不智能。

2 java

尽管 idea 体验也很不错,但有时还是感觉太臃肿了,不够流畅。

当然,必须承认 vs code 肯定无法匹敌 idea 所提供的完整特性,对于初学者来说,idea/eclipse 绝对是必经之路。然而,作为程序员,我们也必须清楚,设计是一种取舍,idea 提供的无微不至的保姆一般的图形界面,终将会显得友好但??嗦,会有那么一天,你成熟了,长大了,就嫌她??里??嗦了。

2.1 java support extensions

https://code.visualstudio.com/docs/languages/java

按照官方文档,老老实实的安装好 java 相关的 extensions。

简单来说:
VS Code Java IDE =

1

2

3

编辑器:vs code

构建工具: maven/gradle

语言支持:Eclipse ? JDT Language Server

2.2 Language Support for Java? by Red Hat

有些功能如:

  • 代码补全: code completion
  • 自动导入: organize imports
  • 代码跳转: code navigation

等等!很显然,vs code 不会提供这些语言级别的特性,这也是为什么 JetBrains 有那么多产品的原因:

  • IntelliJ IDEA - 一套智慧型的Java整合开发工具,特别专注与强调程序师的开发撰写效率提升
  • PHPStorm 7.0 发布,PHP 集成开发工具
  • PyCharm 3发布,智能Python集成开发工具
  • RubyMine -RubyMine 是一个为Ruby 和Rails开发者准备的IDE,其带有所有开发者必须的功能,并将之紧密集成于便捷的开发环境中。
  • WebStorm8.0 发布,智能HTML/CSS/JS开发工具

vs code 通过 extension 来提供相应的 IDE 特性,对于 Java 来说,Language Support for Java? by Red Hat 这个 extension 就是干这个事情的。

Provides Java ? language support via Eclipse ? JDT Language Server, which utilizes Eclipse ? JDT, M2Eclipse and Buildship.

2.3 什么是 JDT

JDT 叫做 Eclipse Java Development Tools

The JDT project provides the tool plug-ins that implement a Java IDE supporting the development of any Java application,

再看看 JDT core 都提供了哪些 vs code 需要扩展的功能:

  • A Java Model that provides API for navigating the Java element tree. The Java element tree defines a Java centric view of a project. It surfaces elements like package fragments, compilation units, binary classes, types, methods, fields.

  • A Java Document Model providing API for manipulating a structured Java source document.

  • Code assist and code select support.

  • An indexed based search infrastructure that is used for searching, code assist, type hierarchy computation, and refactoring. The Java search engine can accurately find precise matches either in sources or binaries.

  • Evaluation support either in a scrapbook page or a debugger context.

  • Source code formatter

需要注意的是,该 extension 使用了 Eclipse IDE 相关的实现。当生成一个新的 java 项目时,比如通过 mvn 来 generate 一个HelloWorld 项目:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.3

然后用 vs code 打开项目目录,会看到项目目录中会随之生成几个文件和目录:

1 .settings

1.1 org.eclipse.jdt.core.prefs

1

2

3

4

5

6

7

"

eclipse.preferences.version=1

org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6

org.eclipse.jdt.core.compiler.compliance=1.6

org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning

org.eclipse.jdt.core.compiler.source=1.6

"

1.2 org.eclipse.m2e.core.prefs

1

2

3

4

5

6

"

activeProfiles=

eclipse.preferences.version=1

resolveWorkspaceProjects=true

version=1

"

2 .project

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<?xml version="1.0" encoding="UTF-8"?>

<projectDescription>

    <name>spring-ldap-user-admin-sample</name>

    <comment></comment>

    <projects>

    </projects>

    <buildSpec>

        <buildCommand>

            <name>org.eclipse.jdt.core.javabuilder</name>

            <arguments>

            </arguments>

        </buildCommand>

        <buildCommand>

            <name>org.eclipse.m2e.core.maven2Builder</name>

            <arguments>

            </arguments>

        </buildCommand>

    </buildSpec>

    <natures>

        <nature>org.eclipse.jdt.core.javanature</nature>

        <nature>org.eclipse.m2e.core.maven2Nature</nature>

    </natures>

</projectDescription>

3 .classpath

阅读剩余部分

相关阅读 >>

vsCode怎么设置代码补全

vsCode terminal乱码

vsCode怎么将本地项目上传到github

vsCode如何添加头文件

vsCode如何添加注释

vsCode离线无法打开怎么办

vsCode可以写php吗?

vsCode怎么运行git项目

vsCode如何恢复默认设置

vsCode可以格式化吗

更多相关阅读请进入《vsCode》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    暂无评论...