Contributions of all kinds are welcome.
- Fork and clone:
git clone https://github.com/semanticdata/pastepad.git - Install dependencies:
pnpm install - Press
F5in VS Code to launch the Extension Development Host
- Source:
src/ - Tests:
src/test/ - Run tests: Test view or
pnpm test - Lint:
pnpm run lint - Build:
pnpm run compile
Use suiteSetup/suiteTeardown for VS Code commands (can only be registered once), setup/teardown for other tests.
suite('Feature Tests', () => {
let mockContext: any;
suiteSetup(async () => {
// One-time setup for the entire suite
mockContext = { /* mock extension context */ };
});
setup(() => {
// Reset state before each test
});
test('should do something', () => {
// Test implementation
});
});Use LoggerService instead of console.log():
import { LoggerService } from './services';
const logger = LoggerService.getInstance();
logger.debug('Detailed info', { key: 'value' }); // Development only
logger.info('User operation'); // Normal operations
logger.warn('Recoverable issue', { key }); // Warnings
logger.error('Failure occurred', { error }); // ErrorsLogs appear in the Output panel under "PastePad". Set to "debug" in settings.json or launch.json for development.
- Branch:
git checkout -b feature/your-feature - Make changes and add tests
- Commit with a clear message
- Push and open a pull request
Follow existing patterns and update CHANGELOG.md for user-facing changes.
Open an issue or start a discussion.