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


  • How to Create a Machine Learning Decision Tree Classifier Using C#

    After earlier explaining how to compute disorder and split data in his exploration of machine learning decision tree classifiers, resident data scientist Dr. James McCaffrey of Microsoft Research now shows how to use the splitting and disorder code to create a working decision tree classifier.

  • Microsoft: Move from Traditional ASP.NET to 'Core' Requires 'Heavy Lifting'

    There are plenty of reasons to move traditional ASP.NET web apps -- part of the old .NET Framework -- to the new cross-platform direction, ASP.NET Core, but beware it will require some "heavy lifting," Microsoft says.

  • Purple Blue Nebula Graphic

    How to Compute Disorder for Machine Learning Decision Trees Using C#

    Using a decision tree classifier from a machine learning library is often awkward because it usually must be customized and library decision trees have many complex supporting functions, says resident data scientist Dr. James McCaffrey, so when he needs a decision tree classifier, he always creates one from scratch. Here's how.

  • Blazor's Future: gRPC Is Key

    Blazor guru Steve Sanderson detailed what Microsoft is thinking about the future of the revolutionary project that enables .NET-based web development using C# instead of JavaScript, explaining how gRPC is key, along with a new way of testing and a scheme for installable desktop apps.

  • Don't Do It All Yourself: Exploiting gRPC Well Known Types in .NET Core

    If you're creating business services that send dates and decimal data then you may be concerned that gRPC services don't support the relevant data types. Don't Panic! There are solutions. Here's how to use them.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events