YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
QA Checks (VS Code extension)
Lightweight QA and code-review checks inside VS Code. It scans your code for common quality problems and reports them as editor squiggles, a sidebar issue list, a status bar counter and an HTML report β no external linters, no runtime dependencies.
What it checks
| Rule ID | Severity | What it flags |
|---|---|---|
todoComment |
info | TODO / FIXME / HACK / XXX markers |
debuggerStatement |
error | Leftover debugger statements (JS/TS) and breakpoint() calls (Python) |
debugLogging |
warning | console.log / console.debug / console.info in JS/TS files |
emptyCatch |
error | Empty catch {} blocks and except: pass in Python |
longLine |
info | Lines longer than qaChecks.maxLineLength (default 120) |
trailingWhitespace |
info | Trailing spaces/tabs (off by default) |
Every rule can be toggled in Settings under qaChecks.rules.*.
Build and run
Requires Node.js 18+ and npm.
npm install
npm run compile # outputs JavaScript to out/
Run it from source (recommended while developing)
code . # open this folder in VS Code
# press F5 β a new "Extension Development Host" window opens with QA Checks active
Package and install as a .vsix
npm install -g @vscode/vsce # or use: npx @vscode/vsce
vsce package # produces qa-checks-0.1.0.vsix
code --install-extension qa-checks-0.1.0.vsix
Using it
- QA Checks: Scan Workspace β scans the whole workspace (respects
qaChecks.include/qaChecks.excludeglobs, skips files over 512 KB, caps at 200 diagnostics per file). - QA Checks: Scan Current File β scans the active editor (also in the editor context menu).
- QA Checks: Show QA Report β opens an HTML report with issue counts by rule and by file (also available by clicking the status bar item).
- QA Checks: Clear All Issues β removes all diagnostics.
- Files are re-scanned automatically on save when
qaChecks.runOnSaveis on. - The QA Checks icon in the activity bar opens the sidebar issue list: files with issues, expandable to per-line entries that jump straight to the offending line.
Configuration
{
"qaChecks.enabled": true,
"qaChecks.runOnSave": true,
"qaChecks.maxLineLength": 120,
"qaChecks.include": ["**/*"],
"qaChecks.exclude": ["**/node_modules/**", "**/out/**", "**/dist/**", "**/build/**", "**/.git/**", "**/__pycache__/**", "**/.venv/**", "**/venv/**"],
"qaChecks.rules.trailingWhitespace": false
}
Project layout
package.json manifest: commands, views, settings, 6 rules
tsconfig.json TypeScript config (strict)
src/extension.ts entry point: wires commands, diagnostics, status bar, save hook
src/rules.ts the rule engine's rule definitions
src/engine.ts scan engine (workspace + per-file, size/diagnostic caps)
src/tree.ts sidebar "Issues" tree view
src/report.ts HTML report webview
media/qa-icon.svg activity bar icon
Extending it
Add a rule by appending an entry to the RULES array in src/rules.ts β
an id, a label, a severity and a check(context) function that returns
null or { message, start, end } for the current line. Then add a
qaChecks.rules.<id> boolean to package.json so users can toggle it.
Everything else (scanning, sidebar, report, status bar) picks it up
automatically.