Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Pickle (gherkin/cucumber)New to Visual Studio Code? Get it now.
Pickle (gherkin/cucumber)

Pickle (gherkin/cucumber)

godandag

|
4 installs
| (0) | Free
Gherkin/Cucumber steps navigator for writing test scenarios faster.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Pickle

Browse step definitions from your project and insert them into .feature files with correct indentation, placeholders, tables, and doc strings.

Works with Cucumber, SpecFlow, and other BDD setups that use a pickle.steps.json catalog.

Features

  • Steps sidebar — grouped list of available step definitions from your workspace
  • One-click insert — click a step to add it at the cursor in the active feature file
  • Smart placeholders — scalar parameters use examples or named placeholders; tables and doc strings are expanded automatically
  • C# doc comments — /// <summary> becomes the step description; /// <example> supplies table columns and rows
  • Live reload — changes to pickle.steps.json refresh the list automatically

Requirements

  • VS Code 1.85+ or Cursor
  • A workspace with pickle.steps.json in the project root (or a custom path via settings)
  • Gherkin syntax support for .feature files (e.g. the Cucumber extension)

Getting started

  1. Install Pickle from the marketplace.
  2. Add pickle.steps.json to your workspace root. See pickle.steps.example.json in this repo for the schema.
  3. Open the Pickle activity bar icon and use the Steps view.
  4. Open a .feature file, place the cursor where you want a step, and click a step in the sidebar.

Configuration

Setting Default Description
pickle.stepsConfigFile pickle.steps.json Steps catalog file name, relative to the workspace root

Steps config format

{
  "version": 1,
  "stepDefinitions": [
    {
      "group": "Login",
      "steps": [
        {
          "keyword": "Given",
          "text": "I am logged in as {string}",
          "description": "Optional help text shown in the sidebar.",
          "parameters": [
            { "name": "userName", "type": "string", "example": "admin@example.com" }
          ]
        }
      ]
    }
  ]
}

Parameter types: string, int, float, bool, table, docstring

Groups can use dot notation (e.g. Checkout.Cart) for nested display.

Generating from C#

Use Pickle: Refresh Steps from C# to scan step definition classes and rebuild pickle.steps.json.

Group names follow the file name: OrderSteps.cs → Order, OrderSteps.Shipping.cs → Order.Shipping.

Descriptions come from /// <summary> on the step method:

/// <summary>
/// Places an order using the values provided in the scenario table.
/// </summary>
[When(@"I place an order with details:")]
public void WhenIPlaceAnOrderWithDetails(Table details) { }

Table columns and rows can be taken from a /// <example> block on the same method:

/// <summary>
/// Places an order using the values provided in the scenario table.
/// </summary>
/// <example>
/// When I place an order with details:
///   | Field    | Value        |
///   | product  | Widget A     |
///   | quantity | 3            |
///   | priority | high         |
/// </example>
[When(@"I place an order with details:")]
public void WhenIPlaceAnOrderWithDetails(Table details) { }

On refresh, Pickle extracts the table into pickle.steps.json:

{
  "keyword": "When",
  "text": "I place an order with details:",
  "description": "Places an order using the values provided in the scenario table.",
  "parameters": [
    {
      "name": "details",
      "type": "table",
      "columns": ["Field", "Value"],
      "rows": [
        ["product", "Widget A"],
        ["quantity", "3"],
        ["priority", "high"]
      ]
    }
  ]
}

If a method has an <example> table, that table replaces any existing columns/rows in the JSON. Without an example, manually edited table data in pickle.steps.json is preserved on refresh.

Commands

Command Description
Pickle: Refresh Steps Reload the steps catalog
Pickle: Show Descriptions Show step descriptions in the sidebar
Pickle: Hide Descriptions Hide step descriptions

Feedback

Questions, bugs, or suggestions: godandag@gmail.com

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft