OpenFastTrace provides a VS Code client for the OpenFastTrace language server.
This initial slice launches the bundled server and supports the standard
workspace/symbol request.
The extension starts the staged Java language-server distribution and uses LSP
for portable editor behavior. The first supported request is
workspace/symbol; it currently returns no symbols until workspace indexing is
implemented.
In Markdown and reStructuredText documents, type an oft- prefix and select
one of the OpenFastTrace snippets for an architecture, business or technical
constraint, design, feature, quality goal, quality scenario, requirement, or
scenario item. The scenario snippet includes a
Given-When-Then skeleton and a Covers: placeholder.
To insert a snippet, type oft-, press Ctrl+Space to open the completion
list (or wait for it to appear), then select the desired OpenFastTrace snippet.
Snippets are based on the OFT IntelliJ plugin.
Markdown and reStructuredText OFT declarations, such as req~example~1, are
highlighted immediately while retaining their normal document language mode.
This first lexical highlighting slice does not validate declarations. Coverage
tags in source code will be highlighted in a follow-up PR using LSP semantic
tokens.
Valid long-form coverage tags, such as [impl->dsn~editor-presentation~5],
are semantically highlighted in source, configuration, and markup files
supported by OpenFastTrace. The bundled OpenFastTrace tag importer determines
both the supported files and valid tag syntax. This does not validate that the
target exists; it only recognizes the tag syntax while preserving the host language mode. See
Known Issues for language-server compatibility limitations.
The extension requires Java 21 or later. It uses openfasttrace.java.home when
configured, then JAVA_HOME, then the java executable on PATH. The server
distribution is packaged with the extension, so no global server installation
is needed.
This extension contributes openfasttrace.java.home, an absolute path to a
Java 21 or later runtime. Configure it when VS Code cannot find a suitable
runtime through JAVA_HOME or PATH.
Coverage-tag highlighting is not reliable in Java and may be unavailable in other file types when their VS Code language extension provides a more-specific semantic-token provider. VS Code uses that provider instead of the OFT provider for the whole document, so the OFT tag can briefly appear highlighted and then revert to an ordinary comment. TypeScript currently works because the OFT provider wins the selection there.
The planned solution is to apply editor decorations to parser-confirmed OFT tag ranges. Decorations overlay the host language's highlighting instead of competing with its semantic-token provider. Definition and reference navigation are not subject to this limitation: VS Code can merge their results from OFT and the host language server.
Users appreciate release notes as you update your extension.
Initial release of ...
Fixed issue #.
Added features X, Y, and Z.
Ensure that you've read through the extensions guidelines and follow the best practices for creating your extension.
You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts:
- Split the editor (
Cmd+\on macOS orCtrl+\on Windows and Linux). - Toggle preview (
Shift+Cmd+Von macOS orShift+Ctrl+Von Windows and Linux). - Press
Ctrl+Space(Windows, Linux, macOS) to see a list of Markdown snippets.