Compatibility
Gherkin PowerTools is built to run everywhere VS Code runs.
Framework Compatibility
Generic Gherkin (Supported & Tested)
The core editing features (Formatting, Structural Linting, Quick Fixes, Outline, Analytics, Highlighting) are completely framework-independent. They will work flawlessly with standard .feature files used by:
- Cucumber (Java, Ruby, JS, etc.)
- SpecFlow (.NET)
- Karate
- Playwright BDD
- Any framework that adheres to the standard Gherkin syntax.
Python Behave (Supported & Tested)
The advanced integrations (Go to Definition, Hover, Autocomplete, Step Generation, Test Explorer Execution, Debugging) are exclusively designed for Python Behave.
- The extension parses @given, @when, @then, and @step Python decorators.
- The extension runs tests by spawning the behave process.
Note: The extension does not provide step definitions or execution integration for Cucumber.js, SpecFlow, or other frameworks. You can use Gherkin PowerTools alongside the official Cucumber extension for those frameworks.
Environment Compatibility
| Environment | Support Level | Notes |
|---|---|---|
| VS Code Desktop (Windows/macOS/Linux) | Supported & Tested | Requires VS Code 1.93.0 or later. |
| Dev Containers | Supported & Tested | Fully isolated execution within the container. |
| WSL (Windows Subsystem for Linux) | Supported & Tested | Native file system and process execution. |
| SSH Workspaces | Supported & Tested | |
| GitHub Codespaces | Supported & Tested |
Python & Behave Requirements
- Python Versions: Tested and Supported on Python 3.8 through 3.12.
- Behave Versions: Tested and Supported on Behave 1.2.6.
- Python Extension: Required only for Debugging features in the Test Explorer (
ms-python.python). - Behave Executable: Required only for test execution from the Test Explorer (
pip install behave). The extension can execute Behave via system PATH, Poetry, Pipenv, or explicit virtual environment paths.
Standalone CLI Requirements
- Node.js Engine: The
@carlos-camara/gherkin-ptCLI executable requires Node.js >= 18.0.0. - Supported OS: Windows, macOS, and Linux. No native dependencies are required.
Workspace Constraints
- Multi-Root Workspaces: Supported. Configuration settings in
.vscode/settings.jsonapply to their specific workspace folders. - Paths with Spaces / Unicode Paths: Supported. The extension uses native URI parsing to properly encode/decode file paths for regex matching and command execution.
- Case-Insensitive File Systems: Supported. The extension uses strict case-insensitive URI normalization (added in v1.8.2) to prevent duplicate index entries or cache misses natively on macOS and Windows.
- Monorepos: Supported. Configure
gherkinPowerTools.behave.stepGlobsto point to all sub-directories where steps reside. - Large Workspaces: Supported. The AST parser and file system watchers are deferred and operate in the background. Ensure
gherkinPowerTools.behave.ignoreGlobscorrectly ignores virtual environments to prevent parsing timeouts. - Massive Documents: Supported but limited. While typical
.featurefiles parse instantly (<20ms), auto-generated files exceeding1MBor10,000 scenarioswill cause brief Extension Host UI blocking during parsing. Limit manual editing of generated files over 2MB.
Gherkin Dialects
- Language Support: Supported & Tested. The semantic parser automatically adapts to 70+ languages (e.g. Spanish
Dado, FrenchSoit) via the# language: <lang>header.