Escape does not cancel a launch that uses command:SpecifyProgramArgs

未關閉
#1,450 2 則留言 0 個 reaction 已指派 1 人 在 GitHub 檢視

@testforstephen 已經在處理了。

開始於 2024年2月28日。

評估

這個 Issue 還沒有評估資料。

描述

ai-triaged bug

When launching a Java program with ${command:SpecifyProgramArgs}, the popup says that I can press 'Escape' to cancel, but it runs anyway.

Environment
  • Operating System: Windows 11
  • JDK version: 17.0.4.1
  • Visual Studio Code version: 1.86.2
  • Java extension version: 1.28.1
  • Java Debugger extension version: 17.0.4.1
Steps To Reproduce
  1. Open the repo https://github.com/sbj42/vscode-specifyprogramargs
  2. Open Test.java and press F5.
  3. Pop-up appears with "Press 'Enter' to confirm your input or 'Escape' to cancel".
  4. Press Escape.
  5. Terminal appears and runs the test program with no arguments.

See repo above, but you only need these two files:

Test.java:

public class Test {
    public static void main(String[] args) {
        System.out.println("args: " + String.join(" ", args));
    }
}

.vscode/launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "Launch with Arguments Prompt",
            "request": "launch",
            "mainClass": "",
            "args": "${command:SpecifyProgramArgs}"
        }
    ]
}

Verbose output log from "Language Support for Java": log.txt

Current Result

The debug session starts with no arguments.

Expected Result

The debug session should not start, because it was cancelled.

Additional Informations

The implementation of SpecifyProgramArgs is at extension.ts:185. When the user cancels, the function returns a string with a single space. That's indistinguishable from the user entering a space in the input.

I presume that throwing some sort of cancellation exception would be good here, for instance throw new Error('Launch cancelled'). It would be even better if the exception didn't display an error box, but I don't know enough about vscode extension command handlers to know if that's possible.

Alternatively you could just remove the "or 'Escape' to cancel" hint in the input popup.

主要語言
TypeScript
星號
591
分支
429
平均合併
1 天 9 小時
30 天內合併 PR
19

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

microsoft/vscode-java-debug 的其他 Issue

查看 microsoft/vscode-java-debug 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。