vscode-extension-workflow
Build, lint, test, and package this VS Code extension. Use when changing extension commands, activation, packaging, or build/test scripts.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Use this skill when working on workflows or commands for this repo's VS Code extension.
Shared conventions
- Follow
AGENTS.mdfor coding style, TypeScript/lint rules, testing conventions, and shared engineering constraints. - Keep this skill focused on workflow/packaging/command concerns.
Key files
-
package.jsonfor scripts, activation events, and contributions. -
src/extension.tsfor activation and command wiring. -
src/integratedTreeProvider.tsfor Filter/View controls tree UI. -
src/searchViewProvider.tsfor webview-side filter/search/history interactions. -
README.mdfor user-visible docs and command lists. -
eslint.config.jsfor ESLint 9 flat-config rules.
Commands
- Install deps:
npm install - Bundle (dev):
npm run esbuild - Bundle (minified):
npm run vscode:prepublish - Type check:
npm run compile - Lint:
npm run lint - Tests:
npm test
Single test
- Prefer VS Code Testing view; tests live in
src/test/extension.test.ts. - CLI:
npm test -- --grep "<test name substring>".
Workflow checklist
- Update
package.jsoncommands or contributions as needed. - Keep
README.mdin sync with new commands or settings. - Avoid editing generated output in
out/ordist/. - Match existing TypeScript style and ESLint rules.
- Run
npm run compile,npm run lint, andnpm testafter changes when feasible. - Keep docs DRY: reference
package.jsonas command/settings source of truth. - Think and design first before implementation; decide workflow impacts before changing scripts/contributions.
- Always apply SOLID and DRY principles when changing extension workflow behavior.
- Avoid unnecessary refactors of scripts/contributions; keep workflow edits minimal and focused.
Feature/workflow hotspots
- Filter controls now support per-field modes (Contains/Regex/Glob) and recent-filter operations.
- Custom view flows include select/apply/toggle/import/export plus workspace/global storage scope.
- Performance behavior includes
refreshMode,debounceDelay, andadaptiveDebouncesettings. - Search and saved filters use persistent stores (
SearchHistoryStore,SavedFiltersStore).
Gotchas
- The extension activates on
onLanguage:arxml. - Additional activation occurs for views (
arxml-integrated-view,bookmark-tree-view). - ESLint uses flat config (
eslint.config.js), not legacy eslintrc files. - Tests are Mocha-based and executed via the VS Code test runner.
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-03-11
- Index updated
- 2026-03-11
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!