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.
| 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 |
- Install the extension from the VS Code Marketplace or Open VSX Registry.
- Open a workspace that contains a
requirements.ymlfile.
reqstool is installed automatically into a managed virtual environment on first activation. No manual setup required.
Note: Auto-install requires Python (
python3orpython) to be available on yourPATH. If Python is not available, install reqstool manually and configurereqstool.serverCommand.
| 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). |
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.
The LSP server provides hover, completion, go-to-definition, and diagnostics for:
- Python
- Java
- JavaScript / TypeScript
- JSX / TSX
- YAML (requirements, SVCs, MVRs)
- VS Code 1.109.0 or later
- Python (
python3orpython) on yourPATHfor auto-install — or configurereqstool.serverCommandto point to an existing installation
Extension shows "reqstool is not installed or not found"
- The auto-install requires Python (
python3orpython) to be available on yourPATH. - If Python is not found, install reqstool manually and set
reqstool.serverCommand. - Run
reqstool --versionin 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.