Skip to content

Repository files navigation

openfasttrace-vscode-extension

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.

Build Quality gate status

Bugs Code Smells Coverage Duplicated Lines (%) Lines of Code Reliability Rating Security Rating Technical Debt Maintainability Rating Vulnerabilities

Features

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.

OFT templates

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.

OFT declaration highlighting

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.

OFT coverage-tag highlighting

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.

Requirements

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.

Extension Settings

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.

Known Issues

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.

Release Notes

Users appreciate release notes as you update your extension.

1.0.0

Initial release of ...

1.0.1

Fixed issue #.

1.1.0

Added features X, Y, and Z.


Following extension guidelines

Ensure that you've read through the extensions guidelines and follow the best practices for creating your extension.

Working with Markdown

You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts:

  • Split the editor (Cmd+\ on macOS or Ctrl+\ on Windows and Linux).
  • Toggle preview (Shift+Cmd+V on macOS or Shift+Ctrl+V on Windows and Linux).
  • Press Ctrl+Space (Windows, Linux, macOS) to see a list of Markdown snippets.

For more information

Information for Developers

About

VSCode extension for OpenFastTrace

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages