

Cucumber for Visual Studio Code
This extension adds support for using Cucumber with Visual Studio Code, powered by the Cucumber Language Server.
This extension is maintained by the Cucumber team.
Installation
Get it from the Open VSX Registry or
Visual Studio Marketplace.
Features
Autocomplete

When you start typing a step, you will see auto-complete suggestions
based on existing step definitions and Gherkin steps.
The suggestions are more helpful if your step definitions use
Cucumber Expressions
but you'll also get suggestions if they use Regular Expressions.
Go to step definition

You can quickly navigate from a Gherkin step to a step definition.
Generate step definition

Generate step definition snippets with a quick fix - ⌘
+ .
(MacOS) or
Ctrl
+ .
(Windows).
IMPORTANT: Generate step definition will only be enabled
if there is at least one existing step definition. This is
so that the extension can determine the programming language
for the step definition, and provide choices for existing files
to add it to.
Syntax highlighting

Gherkin keywords and step parameters are highlighted.
Undefined steps and syntax errors are underlined.

Gherkin documents are formatted using two space indentation.
Numeric cells are right-aligned (as in Excel). Non-numeric cells are left-aligned.
Document Outline

The Outline panel displays an outline of the Gherkin document,
making it easy to navigate between scenarios.
Extension Settings
In most cases you shouldn't need to specify any settings
as the extension comes with reasonable defaults.
If your .feature
files and step definition files are
in an unconventional file structure, you need to change the
settings to make autocomplete work properly.
cucumber.features
The cucumber.features
setting overrides where the extension
should look for .feature
files.
If no feature files are found, autocomplete
will not work.
Default value:
{
"cucumber.features": [
"src/test/**/*.feature",
"features/**/*.feature",
"tests/**/*.feature",
"*specs*/**/.feature"
]
}
cucumber.glue
The cucumber.glue
setting overrides where the extension
should look for source code where step definitions and
parameter types are defined.
If no glue files are found, autocomplete
will not work, and all Gherkin steps will be underlined as
undefined. Generate step definition
will not work either.
Default value:
{
"cucumber.glue": [
"src/test/**/*.java",
"features/**/*.js",
"features/**/*.jsx",
"features/**/*.ts",
"features/**/*.tsx",
"features/**/*.php",
"features/**/*.py",
"tests/**/*.py",
"tests/**/*.rs",
"features/**/*.rs",
"features/**/*.rb",
"*specs*/**/.cs"
]
}
cucumber.parameterTypes
Override the cucumber.parameterTypes
setting if your Cucumber Expressions
are using Custom Parameter Types that are defined outside your cucumber.glue
setting.
Parameter Types in the cucumber.glue
globs will be picked up automatically.
Default value:
{
"cucumber.parameterTypes": []
}
For example, if you're using the actor
parameter type from @cucumber/screenplay you'll have to declare this in the parameterTypes
setting:
{
"cucumber.parameterTypes": [
{ "name": "actor", "regexp": "[A-Z][a-z]+" }
]
}
Feedback
If you discover a bug, or have a suggestion for a feature request, please
submit an issue.