Overview Version History Q & A Rating & Review
Version Scan
A VSCode extension that detects dependency version issues in real time. Supports npm/pnpm/yarn , Rust (Cargo) , and Git Submodule projects — notifying you the moment a problem is found and offering one-click fixes.
Features
npm / pnpm / yarn
Checks dependencies, devDependencies, optionalDependencies, and peerDependencies declared in package.json
Compares against versions installed in node_modules, detecting missing or out-of-range packages
Automatically re-runs checks after npm install / pnpm install / yarn install
Quick Fix:
Install dependencies — auto-detects npm / pnpm / yarn and runs the install command in a terminal
Update declared range — rewrites the version range in package.json to match the currently installed version (^x.y.z)
Rust (Cargo)
Checks [dependencies], [dev-dependencies], and [build-dependencies] declared in Cargo.toml
Compares against versions locked in Cargo.lock, detecting unlocked or out-of-range packages
Quick Fix: runs cargo update <package> in a terminal
Git Submodule
Parses .gitmodules and inspects all declared submodules
Compares the parent repository's locked commit against the commit actually checked out in the submodule directory
Detects uninitialized submodules or commit mismatches
Quick Fix:
Uninitialized: runs git submodule update --init
Commit mismatch: runs git submodule update
Notifications & Diagnostics
Problems panel — all issues are reported as diagnostics with clickable links to the relevant line
Inline highlights — version mismatches are marked with a yellow background ; missing dependencies with a red background
Popup notifications — automatically triggered when:
A workspace is opened for the first time (startup check)
A dependency file changes (package.json / Cargo.toml / Cargo.lock / .gitmodules)
Dependencies are installed (node_modules update triggers a re-check)
Each notification offers three quick actions: View Problems / Open File / Run Install
Commands
Command
Description
Version Scan: Run Dependency Check
Manually trigger all checks for the current workspace
Version Scan: Install Dependencies
Run the install command in a terminal
Version Scan: Update Declared Range To Installed
Rewrite the npm version range to match the installed version
Configuration
Setting
Type
Default
Description
versionScan.notifyOnStartup
boolean
true
Show a popup notification when a workspace is first opened
versionScan.notifyOnPackageChange
boolean
true
Show a popup notification when a dependency file changes
versionScan.notifyLevel
string
all
Notification level: all / warn (mismatches only) / error (errors only)
versionScan.notifyCooldownSeconds
number
180
Minimum seconds between duplicate notifications for the same issue
versionScan.ignoredDependencies
array
[]
Dependency names to skip during checks (applies to all checkers)
versionScan.maxDepth
number
5
Maximum directory depth to scan for package.json files (relative to workspace root)
versionScan.excludePatterns
array
["dist","build","out","public"]
Directory names or glob patterns to exclude from scanning (applies to all checkers)
Development
npm install
npm run compile
Press F5 to launch an Extension Development Host for debugging.
Adding a New Language Checker
Create a new directory under src/checkers/, implement the LanguageChecker interface, then register it in src/extension.ts:
registerChecker(new YourChecker());
The interface requires the following members:
Member
Description
canHandle(folder)
Return true if this checker applies to the given workspace
check(folder)
Run the check and return a CheckResult
watchPatterns
File globs to watch and their debounce delay (ms)
isSourceFile(filename)
Return true if the file should trigger decoration refresh
buildRangeResolver(text, document)
Return a function that maps a dependency to its source range
getCodeActions(document, diagnostic, folder)
(Optional) Return Quick Fix code actions