Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
bundled/scripts/noConfigScripts/debugpy text eol=lf
bundled/scripts/noConfigScripts/debugpy.sh text eol=lf
bundled/scripts/noConfigScripts/debugpy.fish text eol=lf
24 changes: 24 additions & 0 deletions .github/agents/reviewCritic.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
description: "Review critic for vscode-python-debugger. Use when: reviewing a fix, checking regressions, verifying test coverage, or pressure-testing a PR before merge."
tools: [read/readFile, edit/editFiles, execute/runInTerminal, execute/getTerminalOutput, execute/sendToTerminal, search/textSearch, vscode/askQuestions, todo]
---

You are a high-signal review critic for **vscode-python-debugger**.

Focus on correctness, regressions, environment mutation, debug configuration behavior, cross-platform shell integration, and missing tests. Ignore style unless it hides a real bug.

## Review workflow

1. Start with `git status --short` and `git diff --stat`, then read every changed file in scope.
2. Verify each behavior change has a targeted test, or explain exactly why a test is not practical.
3. Prioritize:
- PATH / Path normalization and environment merging
- no-config debugging bootstrap scripts across shells
- debug configuration resolution and workspace behavior
- Windows/macOS/Linux differences that could break launch or attach
4. Report only actionable findings with:
- severity
- affected file or scope
- why it matters
- the missing fix or missing test
5. If the diff looks sound, say so explicitly and cite the tests that support that conclusion.
4 changes: 2 additions & 2 deletions bundled/scripts/noConfigScripts/debugpy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! /bin/bash
# Bash script
export DEBUGPY_ADAPTER_ENDPOINTS=$VSCODE_DEBUGPY_ADAPTER_ENDPOINTS
python3 $BUNDLED_DEBUGPY_PATH --listen 0 --wait-for-client $@
export DEBUGPY_ADAPTER_ENDPOINTS="$VSCODE_DEBUGPY_ADAPTER_ENDPOINTS"
python3 "$BUNDLED_DEBUGPY_PATH" --listen 0 --wait-for-client "$@"
8 changes: 4 additions & 4 deletions bundled/scripts/noConfigScripts/debugpy.bat
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@echo off
:: Bat script
set DEBUGPY_ADAPTER_ENDPOINTS=%VSCODE_DEBUGPY_ADAPTER_ENDPOINTS%
python %BUNDLED_DEBUGPY_PATH% --listen 0 --wait-for-client %*
@echo off
:: Bat script
set "DEBUGPY_ADAPTER_ENDPOINTS=%VSCODE_DEBUGPY_ADAPTER_ENDPOINTS%"
python "%BUNDLED_DEBUGPY_PATH%" --listen 0 --wait-for-client %*
4 changes: 2 additions & 2 deletions bundled/scripts/noConfigScripts/debugpy.fish
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Fish script
set -x DEBUGPY_ADAPTER_ENDPOINTS $VSCODE_DEBUGPY_ADAPTER_ENDPOINTS
python3 $BUNDLED_DEBUGPY_PATH --listen 0 --wait-for-client $argv
set -x DEBUGPY_ADAPTER_ENDPOINTS "$VSCODE_DEBUGPY_ADAPTER_ENDPOINTS"
python3 "$BUNDLED_DEBUGPY_PATH" --listen 0 --wait-for-client $argv
16 changes: 8 additions & 8 deletions bundled/scripts/noConfigScripts/debugpy.ps1
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# PowerShell script
$env:DEBUGPY_ADAPTER_ENDPOINTS = $env:VSCODE_DEBUGPY_ADAPTER_ENDPOINTS
$os = [System.Environment]::OSVersion.Platform
if ($os -eq [System.PlatformID]::Win32NT) {
python $env:BUNDLED_DEBUGPY_PATH --listen 0 --wait-for-client $args
} else {
python3 $env:BUNDLED_DEBUGPY_PATH --listen 0 --wait-for-client $args
}
# PowerShell script
$env:DEBUGPY_ADAPTER_ENDPOINTS = $env:VSCODE_DEBUGPY_ADAPTER_ENDPOINTS
$os = [System.Environment]::OSVersion.Platform
if ($os -eq [System.PlatformID]::Win32NT) {
python "$env:BUNDLED_DEBUGPY_PATH" --listen 0 --wait-for-client $args
} else {
python3 "$env:BUNDLED_DEBUGPY_PATH" --listen 0 --wait-for-client $args
}
4 changes: 4 additions & 0 deletions bundled/scripts/noConfigScripts/debugpy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#! /bin/bash
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot generated:
Identical file duplication: debugpy.sh is byte-for-byte identical to the extensionless debugpy file. There's no mechanism (symlink, build step, or even a comment) to keep them in sync. A future fix to one may miss the other.

Suggested fix: Either (a) make debugpy.sh a symlink to debugpy, (b) add a prominent comment in both files stating they must stay synchronized, or (c) generate one from the other in a build/copy step.

[verified]

# Bash script
export DEBUGPY_ADAPTER_ENDPOINTS="$VSCODE_DEBUGPY_ADAPTER_ENDPOINTS"
python3 "$BUNDLED_DEBUGPY_PATH" --listen 0 --wait-for-client "$@"
Loading
Loading