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

  • GitHub Expands Copilot Enterprise Search in Visual Studio and VS Code

    GitHub supercharged search for its Copilot Enterprise AI assistant in both Microsoft's Visual Studio IDE and Visual Studio Code so developers can now get results from well beyond local codebases, including the internet.

  • What's New in TypeScript 5.5, Now Generally Available

    Microsoft shipped the latest iteration of its type-infused superset of JavaScript, TypeScript 5.5, introducing inferred type predicates, control flow narrowing, JSDoc @import and other enhancements.

  • GitHub Copilot for Azure Gets Preview Glitches

    This reporter, recently accepted to preview GitHub Copilot for Azure, has thus far found the tool to be, well, glitchy.

  • New .NET 9 Templates for Blazor Hybrid, .NET MAUI

    Microsoft's fifth preview of .NET 9 nods at AI development while also introducing new templates for some of the more popular project types, including Blazor Hybrid and .NET MAUI.

  • What's Next for ASP.NET Core and Blazor

    Since its inception as an intriguing experiment in leveraging WebAssembly to enable dynamic web development with C#, Blazor has evolved into a mature, fully featured framework. Integral to the ASP.NET Core ecosystem, Blazor offers developers a unique combination of server-side rendering and rich client-side interactivity.

Subscribe on YouTube