ImpactLens VS Code Extension
ImpactLens analyzes changed Python, TypeScript, JavaScript, Go, Java, C#, and
C/C++ files in the currently opened VS Code workspace and shows affected files, FastAPI routes,
affected functions/classes/methods, suggested tests, and a Markdown report. It can optionally
generate AI review suggestions through an OpenAI-compatible provider.
Built by BEVALERY.
Installation
Install ImpactLens in the VS Code Marketplace
or using our GitHub Releases.
If you download a .vsix release, install it from VS Code:
- Open the Extensions view.
- Open
....
- Select
Install from VSIX....
- Pick the downloaded
impactlens-vscode-*.vsix file.
Or install the downloaded VSIX from a terminal:
code --install-extension .\impactlens-vscode-*.vsix --force
Normal VS Code Usage
- Install ImpactLens from the VS Code Marketplace or a GitHub Release.
- Open a source workspace.
- Run
ImpactLens: Demo Readiness Checklist before a presentation to print
the demo checklist into the ImpactLens output channel.
- Run
ImpactLens: Check Setup to verify Python, the bundled analyzer, Git,
and optional AI settings.
- If setup cannot find Python, set
impactlens.pythonPath.
- Open the ImpactLens icon in the VS Code Activity Bar.
- In
Current Changes, choose Fast check, Normal analysis, or
Deep analysis, or click a single changed file for focused actions.
- In
Pull Requests, click an open PR to choose whether to analyze, preview
changed files, open the PR, or copy useful context.
- Review the impact summary, analysis quality banner, review gate, and
Why this matters explanation.
- Expand skipped-file, route, code-element, test, and Markdown sections as needed.
- Use result actions to open affected files or run suggested test commands.
- Optional: configure an AI provider and click
Generate AI suggestions.
When a report is partial, ImpactLens shows skipped and unsupported files in a
dedicated section. When a report is empty, ImpactLens shows recovery actions for
opening Output, opening analysis settings, and trying a deeper analysis.
Python/FastAPI remains the richest adapter. Other language support is baseline:
TypeScript/JavaScript tracks relative imports and common symbols, Go tracks
package imports and _test.go files, Java/C# track imports/usings and
*Test.java / *Tests.cs files, and C/C++ tracks #include edges plus common
test-file naming. Non-Python adapters do not extract framework routes yet.
To analyze a local PR branch, run ImpactLens: Analyze PR Changes. ImpactLens
tries to detect the target branch from GitHub CLI PR metadata, origin/HEAD,
and common branch names. Set impactlens.git.baseBranch only when you need to
override that detection.
The Activity Bar PR list first uses VS Code GitHub authentication. If you are
already signed in to GitHub in VS Code, ImpactLens can reuse that account
through VS Code's built-in auth prompt. If no VS Code GitHub session is
available, ImpactLens falls back to GitHub CLI:
gh auth login
gh pr list
If gh is unavailable or not authenticated, ImpactLens keeps the sidebar usable
and shows a friendly fallback under Pull Requests.
Analysis progress is shown in a cancellable VS Code notification. Cancelling
before the analyzer starts stops quietly; cancelling while analysis is running
terminates the analyzer process and shows ImpactLens analysis was cancelled.
Sidebar clicks do not start analysis immediately. ImpactLens first shows a
Quick Pick with relevant actions, so you can preview files, open targets, copy
paths or PR URLs, and then explicitly start analysis. For all changes and PRs,
the analysis actions are:
Fast check: depth 1;
Normal analysis: configured default depth;
Deep analysis: all dependency levels;
Open analysis settings: opens impactlens.analysis settings.
If a selected PR branch is not available locally, ImpactLens offers to fetch
pull/<number>/head into an impactlens/pr-<number> local ref and continue the
analysis from that fetched ref.
ImpactLens looks for Python in this order: impactlens.pythonPath, workspace
.venv, py -3, python, then python3.
ImpactLens: Check Setup opens a first-run summary with the detected workspace,
Python interpreter, bundled analyzer status, Git status, GitHub PR support, and
AI provider status. From that summary you can start current-change analysis,
open settings, or open the ImpactLens output channel.
Run locally:
- Open this repository in VS Code.
- Open the Run and Debug panel.
- Start
Run ImpactLens Extension.
- In the extension host window, open a source workspace.
- Change a supported source file or focus one.
- Run
ImpactLens: Analyze Current Changes.
Configuration
Set impactlens.pythonPath when VS Code cannot find Python:
{
"impactlens.pythonPath": "C:\\Path\\To\\python.exe"
}
Optional AI suggestions use OpenAI-compatible chat completions. In the
ImpactLens results panel, click Configure AI Provider to open the matching VS
Code settings, or set them manually:
{
"impactlens.ai.baseUrl": "https://api.openai.com/v1",
"impactlens.ai.apiKey": "YOUR_API_KEY",
"impactlens.ai.model": "gpt-4.1-mini"
}
For a local or proxy provider, use its compatible /v1 base URL and model
name. ImpactLens sends compact static analysis facts by default, not raw source
code.
For PR analysis, set impactlens.git.baseBranch only if automatic base
detection chooses the wrong branch:
{
"impactlens.git.baseBranch": "develop"
}