Lingua Franca support for Visual Studio Code
This extension adds language support for Lingua Franca (LF).
✨ Check out the New Lingua Franca Package Explorer! ✨
Click on the LF icon in the Activity Bar on the left to access the Package Explorer.
This will open a tree view, showing:
- Installed Packages—library packages installed via the Lingo package manager;
- Local Libraries—unpublished libraries located in
./src/lib
within your project; and
- Source Files—all
.lf
source files located in the ./src
folder.
Other features
- 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
)
Quick Start
- 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, 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.