VS Code Extensions

Click-through learning with VS Code and Didact

Click-through learning with VS Code and Didact

The Didact project is designed to fill a void in Visual Studio Code, but what exactly is it? And more importantly, why should you care?

Didact started as a “What if?” VS Code doesn’t provide a great way to walk users through a step-wise tutorial. “What if” we could meet that need by combining the following:

  • A simple markup language (such as Markdown or AsciiDoc).
  • The ability to render the markup as HTML using the VS Code webview.
  • A way to invoke the commands we create for each VS Code extension.

And over the course of a day or so of coding, I had a working prototype.

Continue reading “Click-through learning with VS Code and Didact”

Share
VS Code Language support for Apache Camel 0.0.20 release

VS Code Language support for Apache Camel 0.0.20 release

During the past months, several noticeable new features have been added to improve the developer experience of application based on Apache Camel. These updates are available in the 0.0.20 release of Visual Studio (VS) Code extension.

Before going into the list of updates in detail, I want to note that I mentioned in the title the VS Code Extension release because VS Code extension is covering the broader set of new features. Don’t worry if you are using another IDE, though, most features are also available in all other IDEs that support the Camel Language Server (Eclipse Desktop, Eclipse Che, and more).

Continue reading “VS Code Language support for Apache Camel 0.0.20 release”

Share
New tools for automating end-to-end tests for VS Code extensions

New tools for automating end-to-end tests for VS Code extensions

It is a common practice to test software from the user’s perspective before releasing it. With this assumption, I have set out on a quest to find a VS Code extension with automated end-to-end tests. My quest ended in failure. Naturally, a lazy person like me then asked: “Why would nobody try to automate this?” It turns out that automating this was, in fact, quite difficult.

My quest then became finding a solution that would enable developers to do just the thing. It is my pleasure to announce that no more hours need be wasted on this menial, manual activity. Enter the aptly named vscode-extension-tester: A framework that lets you create automated tests for your VS Code extensions and launch them with ease. All you need is an npm package.

Continue reading “New tools for automating end-to-end tests for VS Code extensions”

Share
Sending a telegram with Apache Camel K and Visual Studio Code

Sending a telegram with Apache Camel K and Visual Studio Code

When I was introduced to Apache Camel K a few months ago, I was amazed at how quickly developers could write and deploy an Apache Camel-based integration on Kubernetes. We immediately started work on creating Microsoft Visual Studio (VS) Code-based tools to make things even easier.

What is Camel K? It’s a lightweight integration framework built from Apache Camel and designed for a serverless/microsystem world that runs natively on Kubernetes. It lets developers write integrations in their favorite Camel DSL and quickly deploy them on Kubernetes or Red Hat OpenShift. You can even write your integrations in lightweight languages like Groovy or JavaScript.

We already built language support in VS Code for Apache Camel using the Language Server Protocol (LSP), offering auto-completion for Camel component URIs in both XML and Java. More recently, we began adding the same support for Groovy, JavaScript, YAML, and Kotlin. (See the Apache Camel LSP client project for details.)

Now, with our new Tooling for Apache Camel K by Red Hat extension, we add support for Camel K in your IDE. To illustrate the tools in action, let’s start with a simple user story inspired by an article that Nicola Ferraro wrote a few years ago (Creating a Telegram Bot in 5 minutes with Apache Camel).

Continue reading “Sending a telegram with Apache Camel K and Visual Studio Code”

Share
Getting started with the updated VS Code Yeoman extension for Camel projects

Getting started with the updated VS Code Yeoman extension for Camel projects

The Visual Studio (VS) Code IDE is one of the most-used platforms for JavaScript, C#, and Python developers and is quickly becoming one of the top three tooling environments at Red Hat. VS Code is highly customizable and offers a healthy and growing marketplace for extensions of all types and technologies, including an extension for Yeoman. In this article, I’ll explain how to get started using the updated extension that works with latest versions of VS Code.

Continue reading “Getting started with the updated VS Code Yeoman extension for Camel projects”

Share
Using VS Code to develop Spring Boot-based Camel and Red Hat Fuse projects

Using VS Code to develop Spring Boot-based Camel and Red Hat Fuse projects

Developing Apache Camel and Red Hat Fuse applications inside VS Code is improving! In my previous articles, I’ve mentioned that Camel URI completion is available in VS Code for XML and Java DSL. By leveraging several VS Code extensions, it is now possible to have an end-to-end development experience. The Camel tooling currently available in VS Code is primarily targeting Spring Boot– based Camel applications. The tooling covers the development process from creating a Camel project, testing, and debugging it locally, to automatically-rebuilding and redeploying it on your local OpenShift/Kubernetes instance when you make changes.

There are several ways to leverage the VS Code tooling. I will show the process which I believe is the easiest one to get started with.

Continue reading “Using VS Code to develop Spring Boot-based Camel and Red Hat Fuse projects”

Share
Extending Eclipse Che 7 to use VS Code extensions

Extending Eclipse Che 7 to use VS Code extensions

Recently the Eclipse Che community has been working to make Eclipse Theia the default web IDE for Eclipse Che 7. We’ve added a plugin model to Eclipse Theia that is compatible with Visual Studio Code (VS Code) extensions. Che 7 users will eventually be able to take advantage of extensions that have been written for VS Code in their cloud-based developer workspaces. It’s worth pointing out the popularity of VS Code extensions. Red Hat has contributed extensions covering Java, XML, YAML, OpenShift, and dependency analytics. The Java extension provided by Red Hat has been downloaded over 10 million times!

If you aren’t familiar with Eclipse Theia, Che 6 and earlier used a GWT-based IDE. While it is possible to develop and use plugins in that environment, it is cumbersome. Coming from tools like VS Code, developers expect to be able to customize and extend their workspaces at runtime. Eclipse Theia is an extensible open-source framework to develop multi-language IDEs using state-of-the-art web technologies. Moving to Theia as the default IDE for Che 7 provides a foundation to enrich the developer workspaces in Che. See the series of articles by Stevan LeMeur for more information about what’s coming in Che 7.

This article explains why we decided to add the new plugin model to Eclipse Theia and the benefits for Eclipse Che 7 developer workspaces. I also cover how the new plugin model differs from the existing Theia extension model.

Continue reading “Extending Eclipse Che 7 to use VS Code extensions”

Share
Jump start camel projects with the new yeoman-based project generator

Jump start camel projects with the new yeoman-based project generator

The Red Hat Fuse Tooling team recently broadened its focus from a cross-platform, single-IDE (Eclipse) approach to a cross-platform, cross-IDE approach (Eclipse, VS Code, Che), starting several concerted efforts to provide tools that work across platforms and development environments. Supporting VS Code has become a priority that led us to explore using the Yeoman framework for project and file generation to provide developers a way to jump start their Fuse/Camel development efforts.

This article describes the Yeoman framework and the new Yeoman-based Camel-Project generator the Fuse Tooling team created, and it shows how to install and run the generator.

Continue reading “Jump start camel projects with the new yeoman-based project generator”

Share
XML Language Server and the VSCode Extension

XML Language Server and the VSCode Extension

 

For my first and ongoing project as an intern at Red Hat, I’ve been working alongside Angelo Zerr and Fred Bricon to develop an implementation of the Language Server Protocol (LSP) for XML. Through the XML language server,  developer tools like VSCode and Eclipse receive XML syntax highlighting and checking, code completion, document folding, etc.  At the moment we appear to have the most feature rich XML language server implementation, including our Schema-based support which is an essential XML feature that we are most proud of. Combined, all these features make it much easier for developers to work on any type of project involving XML, from the comfort of their favorite editor or IDE.

Continue reading “XML Language Server and the VSCode Extension”

Share