Contributing to Wheels VS Code Extension
Repository
The Wheels VS Code Extension is located in the main Wheels repository at tools/vscode-ext/
:
Development Setup
Prerequisites
Node.js (version 14 or higher)
VS Code
Git
Initial Setup
Clone the Wheels repository:
git clone https://github.com/wheels-dev/wheels.git cd wheels/tools/vscode-ext
Install VS Code Extension CLI globally (optional, for packaging):
npm install -g vsce
Extension Structure
tools/vscode-ext/
├── src/ # Extension source code
│ ├── extension.js # Extension functions
├── snippets/ # Code snippets for Wheels
│ ├── wheels-api.json # Contains wheels all API functions
│ ├── wheels.code-snippets # Model-specific snippets
├── assets/ # Extension assets (icons, etc.)
│ ├── wheels_logo.png # Extension code snippets
├── package.json # Extension manifest and configuration
├── README.md # Extension documentation
├── CHANGELOG.md # Version history
└── LICENSE # License
Making Changes
Adding New Snippets
Navigate to the appropriate snippet file in
/snippets/
Add your snippet following the existing pattern:
"functionName": { "prefix": "functionName", "body": [ "functionName(${1:param} = \"${2:value}\")" ], "description": "Function description" }
Updating Function Documentation
Edit files in
/src/
directoryUpdate hover documentation and parameter information
Ensure examples are accurate and helpful
Modifying Extension Configuration
Update
package.json
for:Version numbers
New file type support
Activation events
Contribution points
Testing Your Changes
Local Testing
Open the extension directory in VS Code
Press
F5
to launch Extension Development HostTest your changes in the new VS Code window
Verify:
Snippets work correctly
Hover documentation displays properly
Completions appear as expected
No errors in Developer Console
Building and Testing VSIX
Package the extension:
vsce package
Install the generated
.vsix
file locallyTest in a real world environment
Code Quality Standards
Snippet Guidelines
Use meaningful prefixes that match function names
Provide both basic and full parameter versions where applicable
Include helpful default values
Add clear descriptions
Documentation Standards
Keep hover documentation concise but comprehensive
Include practical examples
Document all parameters with types
Maintain consistency with Wheels documentation
Upgrading and Maintenance
Keeping Snippets Current
Monitor Wheels framework releases for new functions
Update existing snippets when function signatures change
Remove deprecated functions
Test against latest Wheels version
Version Management
Follow semantic versioning (MAJOR.MINOR.PATCH)
Update
package.json
versionDocument changes in
CHANGELOG.md
Tag releases appropriately
Compatibility Testing
Test extension with:
Latest stable VS Code version
Different CFML file types (.cfm, .cfc)
Various Wheels project structures
Multiple operating systems if possible
Contributing Process
Follow the standard Wheels contribution process:
Open an Issue: Before making changes, open an issue in the issue tracker describing your proposed changes
Get Approval: Wait for core team approval before starting development
Fork and Branch: Create a feature branch from
develop
Make Changes: Implement your changes following the guidelines above
Test Thoroughly: Test your changes locally and with packaged VSIX
Submit Pull Request: Create a pull request to the
develop
branch, before creating a PR, please also review Contributing to Wheels and Submitting Pull Requests guideCode Review: Address any feedback from the core team
Pull Request Guidelines
Reference the issue number in your PR description
Include clear commit messages
Test against multiple VS Code versions if possible
Update CHANGELOG.md for user-facing changes
Ensure no breaking changes without proper deprecation
Reporting Issues
Found a bug or have a feature request for the VS Code extension?
When reporting extension-specific issues, please include:
VS Code version
Extension version (found in Extensions panel)
Wheels framework version
Operating system
Steps to reproduce the issue
Expected vs. actual behavior
Any error messages from Developer Console
Release Process
Extension releases follow the main Wheels release cycle:
Changes are merged to
develop
branchDuring Wheels release preparation, extension version is updated
Extension is packaged and tested
VSIX file will be generated at our side and tested
Extension may be published to VS Code Marketplace after proper testing
Support
For help with extension development:
Community Discussions - Ask questions and share ideas
Issue Tracker - Report bugs and request features
Wheels Documentation - Complete framework documentation
Last updated
Was this helpful?