Skip to content

harrisont/fastbuild-vscode

Repository files navigation

FASTBuild Language Server and Visual Studio Code Client Extension

Contains a language server and Visual Studio Code client for the FASTBuild language.

Functionality

"Go to Definition" and "Go to References"

"Go to Definition" and "Go to References" supports:

  • Variables
  • #imports
  • #defines
  • #includes

Demo - go to definition and references

Hover to see variable value

Hover over a variable to show a tooltip with its evaluated value. For example, the Message or Location variables in .Message = 'Hello $Location$'. If a variable is evaluated multiple times, like from a ForEach loop, it will show the deduplicated values.

Demo - hover variables

Show errors

See errors on the fly as you write the code, before running FASTBuild.

Demo - show errors

Go to symbol in editor or workspace

Demo - go to symbol in editor and workspace

Syntax highlighting

FASTBuild files are easier to read with syntax highlighting.

Function property auto-completion and documentation

Example: Demo - function property auto-completion and documentation

Variable auto-completion

Example: Demo - variable auto-completion

Limitations

  • Only evaluates code if it is called at least once. This means, for example, that you cannot jump to the definition of a variable defined inside a user function if that user function is never called.
  • Variable auto-completion inside of user functions only works for the function parameters, and not other variables defined inside the function.

Compatibility

Compatible with FASTBuild version 1.11 (FASTBuild Changelog).

It may be compatible with a newer version of FASTBuild, but this was the latest version tested.

Installing

Install the extension from the Visual Studio Marketplace.

Contributing

Contributions welcome! See the contribution guide for details.