VS Code Extensions

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