Skip to content

reqstool/reqstool-vscode

reqstool — VS Code Extension

VS Code extension for reqstool, providing full Language Server Protocol (LSP) integration for requirements traceability.

reqstool links requirements, software verification cases, and manual verification results directly to your source code. This extension brings that traceability into the editor — hover over any annotated identifier to see its requirement, navigate to definitions, get inline diagnostics, and browse the full requirements outline without leaving VS Code.

Features

Feature How to access
Hover tooltips Hover over annotated identifiers in source files
IntelliSense completion Triggered automatically in YAML files
Go to definition F12 or right-click → Go to Definition
Outline view Ctrl+Shift+O or the Outline panel in the Explorer
Diagnostics Problems panel (Ctrl+Shift+M)
Refresh Command Palette → reqstool: Refresh
YAML snippets Type Requirement, SVC, or MVR in a YAML file

Getting Started

  1. Install the extension from the VS Code Marketplace or Open VSX Registry.
  2. Open a workspace that contains a requirements.yml file.

reqstool is installed automatically into a managed virtual environment on first activation. No manual setup required.

Note: Auto-install requires Python (python3 or python) to be available on your PATH. If Python is not available, install reqstool manually and configure reqstool.serverCommand.

Configuration

Setting Default Description
reqstool.serverCommand ["reqstool", "lsp"] Command to start the reqstool LSP server. See Custom server command.
reqstool.trace.server "off" LSP communication tracing. Set to "messages" or "verbose" to debug.
reqstool.startupTimeout 5000 Milliseconds to wait when checking if reqstool is available.
reqstool.symbolLookupDelay 500 Milliseconds to wait after opening a file before querying document symbols.
reqstool.fileWatchPattern **/{requirements,...}.yml Glob pattern for reqstool YAML files to watch for changes.
reqstool.languages all supported Language IDs for which the LSP client is active (checkbox list in Settings UI).

Custom server command

By default the extension auto-installs reqstool and manages the server for you. If you want to use a specific installation, set reqstool.serverCommand in your user or workspace settings:

Use a specific binary on PATH:

{
    "reqstool.serverCommand": ["reqstool", "lsp"]
}

Use an absolute path:

{
    "reqstool.serverCommand": ["/home/user/.local/bin/reqstool", "lsp"]
}

Use a specific virtual environment:

{
    "reqstool.serverCommand": ["/home/user/.venv/bin/reqstool", "lsp"]
}

Use a specific Python interpreter:

{
    "reqstool.serverCommand": ["python", "-m", "reqstool", "lsp"]
}

Enable debug logging:

{
    "reqstool.serverCommand": ["reqstool", "lsp", "--log-level", "debug"]
}

When reqstool.serverCommand is set, the managed virtual environment is bypassed entirely.

Supported Languages

The LSP server provides hover, completion, go-to-definition, and diagnostics for:

  • Python
  • Java
  • JavaScript / TypeScript
  • JSX / TSX
  • YAML (requirements, SVCs, MVRs)

Requirements

  • VS Code 1.109.0 or later
  • Python (python3 or python) on your PATH for auto-install — or configure reqstool.serverCommand to point to an existing installation

Troubleshooting

Extension shows "reqstool is not installed or not found"

  • The auto-install requires Python (python3 or python) to be available on your PATH.
  • If Python is not found, install reqstool manually and set reqstool.serverCommand.
  • Run reqstool --version in a terminal to confirm a manual installation is working.

Enable LSP tracing

Set reqstool.trace.server to "verbose" and open the Output panel → select reqstool from the dropdown.

About

VS Code extension for reqstool with LSP support

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors