lf-lang / vscode-lingua-franca

Lingua Franca extension for Visual Studio Code
Other
4 stars 3 forks source link
diagrams language-server-client lingua-franca linting syntax-highlighting

Lingua Franca support for Visual Studio Code

CI

This extension adds language support for Lingua Franca (LF). It is based on the LF Language and Diagram Server and provides:

Quick Start

  1. Install this plugin from the VSCode Marketplace/Open VSX Registry (in the command palette Ctrl + P, enter ext install lf-lang.vscode-lingua-franca)
  2. (Skip this step if you already have Lingua Franca projects that you'd like to work on.) Create a new Lingua Franca project by creating a <My Project Name>/src folder and putting a file in it that has the .lf extension.
  3. Open a Lingua Franca project (File > Add Folder to Workspace...). The Explorer (upper left in sidebar) should now show your project files. Open the .lf file you created.
  4. (Optional) Show the diagram for this file by clicking on the diagrams icon at the upper right: image)
  5. Compile the .lf file and run it using (Ctrl + Shift + P, then Lingua Franca: Build and Run).

Requirements

This extension requires Java 17 or up in order to run its embedded Lingua Franca language server. You might need to install additional software to be able to build or execute target code produced by the Lingua Franca compiler. The extension reports missing dependencies upon attempting to build or run.

Settings

Automatic code generation is enabled by default to allow target code to be validated on save. To disable automatic code generation, add the following to .vscode/settings.json:

{
    "linguafranca.generateCodeOnSave": false
}

Contributing

We very much appreciate contributions in the form of code, tests, documentation, bug reports, and feature requests. For more details, see CONTRIBUTING.md.

Join us!

Configuration

Diagrams

To enable diagram-based code navigation, go to Settings > Extensions > KLighD Diagram and deactivate Initial Should Select Diagram and activate Initial Should Select Text instead.