Working With Wheels
Contributing to Wheels VS Code Extension
Contributing to Wheels VS Code Extension
Section titled “Contributing to Wheels VS Code Extension”Repository
Section titled “Repository”The Wheels VS Code Extension is located in the main Wheels repository at tools/vscode-ext/:
Development Setup
Section titled “Development Setup”Prerequisites
Section titled “Prerequisites”- Node.js (version 14 or higher)
- VS Code
- Git
Initial Setup
Section titled “Initial Setup”-
Clone the Wheels repository:
Terminal window git clone https://github.com/wheels-dev/wheels.gitcd wheels/tools/vscode-ext -
Install VS Code Extension CLI globally (optional, for packaging):
Terminal window npm install -g vsce
Extension Structure
Section titled “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.jpg # Wheels Logo for extension├── package.json # Extension manifest and configuration├── README.md # Extension documentation├── CHANGELOG.md # Version history└── LICENSE # LicenseMaking Changes
Section titled “Making Changes”Adding New Snippets
Section titled “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
Section titled “Updating Function Documentation”- Edit files in
/src/directory - Update hover documentation and parameter information
- Ensure examples are accurate and helpful
Modifying Extension Configuration
Section titled “Modifying Extension Configuration”- Update
package.jsonfor:- Version numbers
- New file type support
- Activation events
- Contribution points
Testing Your Changes
Section titled “Testing Your Changes”Local Testing
Section titled “Local Testing”- Open the extension directory in VS Code
- Press
F5to launch Extension Development Host - Test 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
Section titled “Building and Testing VSIX”- Package the extension:
Terminal window vsce package - Install the generated
.vsixfile locally - Test in a real world environment
Code Quality Standards
Section titled “Code Quality Standards”Snippet Guidelines
Section titled “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
Section titled “Documentation Standards”- Keep hover documentation concise but comprehensive
- Include practical examples
- Document all parameters with types
- Maintain consistency with Wheels documentation
Upgrading and Maintenance
Section titled “Upgrading and Maintenance”Keeping Snippets Current
Section titled “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
Section titled “Version Management”- Follow semantic versioning (MAJOR.MINOR.PATCH)
- Update
package.jsonversion - Document changes in
CHANGELOG.md - Tag releases appropriately
Compatibility Testing
Section titled “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
Section titled “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
developbranch, before creating a PR, please also review Contributing to Wheels and Submitting Pull Requests guide - Code Review: Address any feedback from the core team
Pull Request Guidelines
Section titled “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
Section titled “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
Section titled “Release Process”Extension releases follow the main Wheels release cycle:
- Changes are merged to
developbranch - During 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
Section titled “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