Pickle Drop
A VS Code extension that helps developers build Gherkin Feature files easily and consistently with a reusable step library.
Features
🏗️ Step Library Management
- Create and maintain a library of reusable Gherkin steps
- Store library in
gherkin-steps.json
(version controllable)
- Organize steps by categories
- Support for parameterized steps with validation
🎯 Smart Step Insertion
- Browse steps in the Explorer sidebar
- Drag & drop steps into feature files
- Parameter prompts for parameterized steps
- Automatic reference tracking
🔍 Intelligent Linting
- Detect steps that drift from library definitions
- Validate parameter types and values
- Identify unreferenced steps
- Quick fixes for common issues
🔄 Auto-Update System
- Automatically update referenced steps when library changes
- Conflict detection for manually modified steps
- Preserve parameter values during updates
Getting Started
Create a Step Library
- Run command:
Gherkin: Add New Step
- Or right-click an existing step and select "Add to Step Library"
Browse Steps
- View steps in the "Gherkin Steps" panel in Explorer
- Steps are organized by category
Insert Steps
- Click on a step in the sidebar to insert it
- Drag & drop steps into feature files
- Use
Ctrl+Shift+P
→ "Gherkin: Insert Step"
Parameter Support
- Use
{paramName}
syntax in step text
- Support for string, number, and enum parameters
- Automatic parameter prompts during insertion
The gherkin-steps.json
file stores your reusable steps:
{
"version": "1.0.0",
"metadata": {
"created": "2025-01-01T00:00:00Z",
"lastModified": "2025-01-01T00:00:00Z",
"description": "Reusable Gherkin steps library"
},
"categories": {
"Navigation": "Steps for page navigation",
"Authentication": "Login/logout related steps"
},
"steps": [
{
"id": "login-as-role-001",
"type": "Given",
"text": "I am logged in as a \"{role}\" user",
"category": "Authentication",
"description": "Logs in user with specified role",
"parameters": [
{
"name": "role",
"type": "enum",
"required": true,
"values": ["admin", "user", "guest"],
"default": "user"
}
]
}
]
}
Commands
Gherkin: Open Step Library
- Open the step library file
Gherkin: Add New Step
- Create a new step in the library
Gherkin: Insert Step
- Insert a step at cursor position
Gherkin: Refresh Step Library
- Reload the step library
Gherkin: Add to Step Library
- Add current step to library
Gherkin: Go to Library Definition
- Navigate to step definition
Gherkin: Update from Library
- Update step from library
Right-click on Gherkin steps for quick actions:
- Unreferenced steps: "Add to Step Library"
- Referenced steps: "Go to Library Definition", "Update from Library"
Diagnostics
The extension provides intelligent linting:
- Blue underline: Unreferenced step (consider adding to library)
- Yellow underline: Step modified from library version
- Red underline: Invalid step reference or missing parameters
Requirements
- VS Code 1.74.0 or higher
- Gherkin language support (built-in)
Extension Settings
This extension contributes the following settings:
gherkin.autoUpdate
: Automatically update referenced steps when library changes
gherkin.showDiagnostics
: Show diagnostic messages for step validation
Known Issues
- Parameter extraction is basic and may not handle complex scenarios
- Drag & drop from sidebar is not yet implemented (coming soon)
Release Notes
0.1.0
Initial release with core functionality:
- Step library management
- Basic step insertion
- Linting and diagnostics
- Context menus and quick fixes
Development
To contribute to this extension:
- Clone the repository
- Run
npm install
- Press
F5
to launch extension development host
- Make changes and test
License
MIT License - see LICENSE file for details.