Bitbucket PR review assistant for VS Code. Fetches pull request comments from Bitbucket Cloud, parses structured TYPE/SEVERITY: prefixes, and displays them in a sidebar tree view with inline editor decorations.
Installation
Build and package the extension:
make build-vscode-review
make package-vscode-review
Install the .vsix file: Extensions → ··· → Install from VSIX...
Authentication Setup
pv-review uses Bitbucket Cloud App Passwords for API access.
Create an App Password at Bitbucket → Personal settings → App passwords
Required permission: Pull requests → Read
Set your Bitbucket username in VS Code settings:
Settings → search pvReview.bitbucketUsername → enter your username
Store your app password:
Command Palette → pv-review: Set Bitbucket Credentials
The password is stored securely using VS Code's SecretStorage
Usage
Click the comment-discussion icon in the Activity Bar to open the PR Review sidebar
Paste a Bitbucket PR URL into the input field and click Open
Comments load into the tree view grouped by type and severity
Click any inline comment to jump to the file and line in your editor
Grey inline decorations appear on commented lines showing the comment summary
Commands
Command
Description
pv-review: Open Pull Request
Open a PR by URL
pv-review: Refresh Comments
Re-fetch comments for the current PR
pv-review: Clear Review
Clear the current review session
pv-review: Set Bitbucket Credentials
Store your app password
pv-review: Clear Bitbucket Credentials
Remove stored app password
Comment Format
Comments with a TYPE/SEVERITY: prefix are grouped into structured categories.
Types
Prefix
Meaning
COD
Code — implementation-level feedback
SOL
Solution — design or approach feedback
ARC
Architecture — structural or system-level feedback
Severities
Level
Meaning
A
Must Fix — blocking issue
B
Should Fix — important but not blocking
C
Suggestion — nice to have
Examples
COD/A: Fix null pointer dereference on empty input
SOL/B: Consider using a factory pattern here instead
ARC/C: This could be extracted into a shared service later
Comments without a prefix appear in the General section.
Tree Structure
├── COD (Code)
│ ├── A — Must Fix (2)
│ │ ├── [COD/A] Fix null check — @reviewer src/utils.py:42
│ │ └── ...
│ ├── B — Should Fix (1)
│ └── C — Suggestion (3)
├── SOL (Solution)
│ └── ...
├── General (5)
├── ▸ Outdated (4) ← collapsed by default
└── ▸ Resolved (7) ← collapsed by default