News

Can't Wait for JNBridge's Java.VS? Program Java in VS Code Now with Red Hat Tool

JNBridge made big news recently by announcing the upcoming Java.VS, which will allow Java programming within Visual Studio. But for those who can't wait, there's already a free tool available from open source champion Red Hat for the IDE's little cousin, the Visual Studio Code editor.

As we noted earlier, Java support in Visual Studio is skimpy, leading many developers to turn to the "Language Support for Java by Red Hat" extension in the Visual Studio Code marketplace.

Although it's still listed as a preview, Red Hat yesterday noted the tool was first announced a year ago and has reached the 1 million download threshold.

"During this past year, we made 10 releases, added various features, fixed many bugs but more importantly, we have constantly grown our user base and finally reached and passed a million downloads on the Visual Studio Marketplace," Gorkem Ercan said in yesterday's post.

When announcing the extension in September of last year, Gorkem said the initial release sported a modest feature set, but the functionality for to "make VS Code more fun to use for Java developers" included:

  • Maven based project support
  • As you type compilation error reporting
  • Code completion
  • Javadoc hovers
  • Code outline
  • Code navigation
  • Code lens for references
  • Highlights
  • Code formatting

The extension is made possible by the Eclipse JDT Language Server implementation of the Language Server Protocol.

The Language Server Protocol, actually developed by Microsoft, "is used between a tool (the client) and a language smartness provider (the server) to integrate features like auto complete, goto definition, find all references and alike into the tool."

According to a Microsoft post last year about the protocol, "Visual Studio Code provides rich language support for many programming languages. Support for a particular programming language is powered by a language server that has a deep understanding of that language. VS Code communicates with these servers to enable rich editing capabilities like 'Errors & Warnings', 'Refactor', and 'Go To Definition'."

Language Server Protocol
[Click on image for larger view.] Language Server Protocol (source: Microsoft).

The Eclipse JDT Language Server project, meanwhile, "is a Java language specific implementation of the Language Server Protocol and can be used with any editor that supports the protocol, to offer good support for the Java Language."

Including the features listed above, that "good support" also includes limited support for the Gradle build tool, though Android projects aren't supported.

Ercan said more functionality is planned for the tool, such as Java 9 support, more refactoring and "even a debugger from our friends." The identity of those "friends" wasn't provided.

In the meantime, Ercan thanked the Red Hat team that worked on the project.

"Fred Bricon, Snjezana Peco and I, as the core team have worked on the Java Language Server and the Visual Studio Code extension, are especially proud not only because of our growing number of users but also the growing number of contributors to the project and the adoption of the Java Language Server by other editors such as Atom," Ercan said.

The Visual Studio Code Marketplace extension has been installed 1,073,414 times as of today, and garnered a 4.3 rating (0-5 scale) from 40 reviewers. The project's GitHub site lists 12 contributors, 287 stars and 44 forks.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus

Featured

  • Get Good at DevOps: Feature Flag Deployments with ASP.NET WebAPI

    They provide developers with the ability to toggle features on and off without having to redeploy code, making it easier to manage risk, test features in production, and facilitate smoother releases.

  • Implementing k-NN Classification Using C#

    Dr. James McCaffrey of Microsoft Research presents a full demo of k-nearest neighbors classification on mixed numeric and categorical data. Compared to other classification techniques, k-NN is easy to implement, supports numeric and categorical predictor variables, and is highly interpretable.

  • Building Secure and Scalable APIs in .NET 8

    Tony Champion: "From giving you access to the entire lifecycle of a request, the ability to configure and extend authentication and authorization, .NET 8 gives you the power to create APIs to meet even the most demanding needs."

  • What's New for Java Tooling in VS Code, Azure Cloud

    Java on Visual Studio Code gets a new tool to its extension pack, while Java on Azure upgraded the Azure Toolkit for IntelliJ and more in new regular updates for both properties.

Subscribe on YouTube