This extension adds language support for Lingua Franca (LF). It is based on the LF Language and Diagram Server and provides:
- find references
- folding ranges
- get workspace symbols
- hover
- KlighD-based interactive diagrams (click on diagrams icon:
)
- syntax highlighting
- target syntax highlighting
- code validation upon edit
- target code validation upon build or file save
- user-triggered build (Ctrl + Shift + P, then
Lingua Franca: Build
) - user-triggered build and run (Ctrl + Shift + P, then
Lingua Franca: Build and Run
)
- Install this plugin from the VSCode
Marketplace/Open VSX Registry
(in the command palette Ctrl + P, enter
ext install lf-lang.vscode-lingua-franca
) - (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. - 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. - (Optional) Show the diagram for this file by clicking on the diagrams icon at the upper right:
)
- Compile the
.lf
file and run it using (Ctrl + Shift + P, thenLingua Franca: Build and Run
).
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.
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
}
We very much appreciate contributions in the form of code, tests, documentation, bug reports, and feature requests. For more details, see CONTRIBUTING.md.
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.