Apache Camel and VS Code featured image

In this article, I share several new language support features in the recently released Language Support for Apache Camel VS Code extension 0.0.27. Before I discuss these improvements, please note that updates to the VS Code extension are available in other IDEs that support the Camel Language Server, including Eclipse IDE, Eclipse Che, and more. It is simply easier to focus on one IDE for my demonstrations, so I've chosen VS Code.

Note: Apache Camel is a versatile open source integration framework based on known enterprise integration patterns.

Dashed notation for properties

By default, the Camel Language Server uses CamelCase for property names. With the 0.0.27 release, the tooling now supports using the dash-case, as well. You can choose the notation that you find the most readable and adapt it for the given context (SpringBoot, Quarkus, Kafka, Spring, and other technologies that use Properties files). As an example, Apache Camel Kafka Connector prefers the dashed notation.

As demonstrated in Figure 1, the hover feature works for both CamelCase and dash-case notation.

A demonstration of the cursor hovering over properties file names in the VS Code console.
Figure 1: Use the hover-over feature for a property definition (demo).

As demonstrated in Figure 2, the completion feature provides the dashed notation if another dashed name is detected in the same file. Otherwise, CamelCase notation is provided.

A demonstration of the dash-case completion option For component names in properties files.
Figure 2: Use the completion feature to update the case style in your properties files (demo).

Note: This feature is available within properties files. You can also access it using the Camel K Modeline property option.

Improved IDE support for Apache Camel K Modeline

I shared details of the first iteration of IDE support for Apache Camel K Modeline in my previous article. With this release, we've updated the completion feature to include property-file and resource options. The completion operation provides sibling files and files in sibling folders at any depth. For example, in the following, the blue files are provided in the completion:

| anotherDir--| fileInAnotherDir.yaml| dirWithCamelKIntegrationFile
--| test.camelk.yaml  <-- opened file in which we are providing the completion
--| sibling-file1.txt
--| sibling-file2.json
--| my-sibling-folder
   --| sub-sibling-file3.yaml
   --| aSubFolder      --| sub-sibling-file4.txt

Update to Camel Catalog 3.5

Apache Camel 3.5 was recently released, and the new 3.5 catalog version is provided by default. You can use the File -> Preferences -> Settings -> Apache Camel Tooling -> Camel catalog version setting to specify a different version of the catalog. See Camel catalog version options for more about selecting the catalog version that you want.

What's next for Apache Camel K

The future is open for Camel K, and we will surely continue to improve language extension support. The Fuse Tooling team is awaiting your feedback on JIRA, the Camel Tooling GitHub repository, or whatever method you prefer, like a comment in this article or tweets to me (@apupier) or @FuseTooling.

Your feedback helps us develop the roadmap for future improvements.

Last updated: February 11, 2024