【发布时间】:2020-10-10 19:22:26
【问题描述】:
我正在使用 Visual Studio Code 编写 Java 程序。 一切正常,除了我在运行代码时总是收到不需要的消息。 例如,我创建了一个非常简单且基本的 Java 项目,其中包含一个 App.java 文件(在 src 文件夹中,默认包):
public class App {
public static void main(String[] args) throws Exception {
System.out.println("Hello, World!");
}
}
我已经安装了 Java Test Runner 和 Debugger for Java 扩展。如果我按“运行”,我会得到:
PS C:\Users\Light\Documents\J\JVsc> cd 'c:\Users\Light\Documents\J\JVsc'; & 'c:\Users\Light\.vscode\extensions\vscjava.vsco\extensions\vscjava.vscode-java-debug-0.28.0\scripts\launcher.bat' 'C:\Program Files\Java\jdk-11.0.1\bin\javaTF-8' '-cp' 'C:\Users\Ri.exe' '-Dfile.encoding=UTF-8' '-cp' 'C:\Users\Light\AppData\Roaming\Code\User\workspaceStorage\67e3f4593863e5815\bin' 'App' 7c280b6c994f0132b01b2\redhat.java\jdt_ws\JVsc_623e5815\bin' 'App'
Hello, World!
这很糟糕,我必须为学校目的录制视频,我不希望这些消息出现。我什至不知道这是否是调试器问题。
似乎VSC在运行程序之前调用了“CD命令”。 我曾尝试更改 launch.json 设置 "console": "internalConsole" 但它并没有解决问题,以这种方式设置的情况是根本不显示任何输出。
如果我输入“cd src”然后手动调用“java App.java”它会打印没有该消息的 Hello World,但显然我不想手动输入编译和运行命令。
【问题讨论】:
-
你可以做一个复合任务
-
@rioV8 什么是复合任务?
-
我应该如何处理复合任务,他们为什么要解决这个问题?
-
你可以定义你想在不同任务中运行的shell命令,并将它们组合成一个复合任务
标签: java visual-studio-code vscode-debugger