Skip to content

This is a client implementation of the Apache Camel Language Server Protocol for Visual Studio Code

License

Notifications You must be signed in to change notification settings

camel-tooling/camel-lsp-client-vscode

Repository files navigation

Language Support for Apache Camel
Language Support for Apache Camel

Marketplace Version Main CI License Zulip


LSP Client for Visual Studio Code.

FeaturesRequirementsDocumentationIssuesTelemetry

This is the Visual Studio Code extension that adds language support for Apache Camel for XML, Java and Yaml DSL code.


Completion for XML DSL

Features

  • Language service support for Apache Camel URIs.
  • Quick reference documentation when you hover the cursor over a Camel component.
  • Diagnostics for Camel URIs.
  • Navigation for Java and XML.
  • Camel K modelines support.
  • Use a specific Camel Catalog version.
  • Use a specific Runtime provider for the Camel catalog.
  • Additional Camel components can be provided.
  • Use dashed notation in properties file and Camel K modelines.
  • Create a Camel Route using Camel JBang.
    • YAML DSL
    • Java DSL
    • XML DSL
    • from an OpenAPI file using YAML DSL
    • Kamelet with YAML DSL
    • Custom Resource Pipe with YAML DSL
  • Transform Camel Routes from XML and Java to YAML using Camel JBang.
  • Create a Camel Quarkus project
  • Create a Camel on SpringBoot project
  • XML DSL Only:
    • Find references for direct and direct VM components in all open Camel files.
    • Navigation to Camel contexts and routes in the VS Code outline panel and in the Go > Go to Symbol in Editor... navigation panel.
    • Auto-completion for referenced IDs of direct, direct VM, VM and SEDA components.

For detailed information about Apache Camel supported features, see the Apache Camel Language Server.

Requirements

Java 17+ is currently required to launch the Apache Camel Language Server. The camel.ls.java.home VS Code preferences can be used to use a different version of JDK than the default one installed on the machine.

⚠️ For some features, JBang must be available on a system command-line.

For an XML DSL files:

  • Use an .xml file extension.
  • Specify the Camel namespace http://camel.apache.org/schema/blueprint or http://camel.apache.org/schema/spring

For a Java DSL files:

  • Use a .java file extension.
  • Specify Camel (usually from an imported package). For example: import org.apache.camel.builder.RouteBuilder.
  • To reference the Camel component, use from or to and a string without a space. The string cannot be a variable. For example, from("timer:timerName") works, but from( "timer:timerName") and from(aVariable) do not work.

Documentation

Our full documentation is located in GitHub pages. Included are details about all of LSP Client for Visual Studio Code capabilities with examples and detailed information.

Issues

Something is not working properly? In that case, feel free to open issues, add feature requests, report bugs, etc.

Get Involved

If you'd like to help us get better, we appreciate it! Check out our Contribution Guide on how to do that.

Data and Telemetry

The LSP Client for Visual Studio Code extension collects anonymous usage data and sends it to Red Hat servers to help improve our products and services. Read our privacy statement to learn more. This extension respects the redhat.elemetry.enabled setting which you can learn more about at How to disable Telemetry reporting.