繁体   English   中英

在 Visual Studio Code 中获得与 PowerShell 或 CMD 中相同的 JAVA 编译错误

[英]Get same JAVA compilation error as in PowerShell or CMD in Visual Studio Code

我使用的是最新的 Windows 10。我有 JDK 15。最新的 Visual Studio 代码(系统)。 在 VS Code 中,我安装了一半的 Java 扩展包,即 Java (Red Hat) 的语言支持 | Java (Microsoft) 的调试器 | Visual Studio IntelliCode (微软)。 所以我这样做只是为了得到右上角的运行按钮(默认安装的 VS Code 没有 JAVA 程序的运行按钮),在关闭按钮下方,我可以在 VS Code 中运行 JAVA 程序。 I didn't wanna go out to the directory then open Power Shell or CMD and then write java filename.java and run the program...

现在的问题是,当我单击运行按钮时,我认为,在 VS 代码中打开了 Power Shell,然后正在编写除“java FileName.java”之外的其他内容。 因此,我无法真正看到编译错误是什么。 我只能看到问题所在的行号,而不是实际的解决方案。 || 如果我在 VS Code 之外的 PowerShell 中使用此“java FileName.java”运行相同的程序,我可以看到x 行存在一些问题,并且解决方案也相同。

所以我想知道是否有任何方法可以在Visual Studio Code中获得这种类型的 output 或者,如果有什么方法可以在我单击顶部的“运行”按钮时简单地告诉 Visual Studio Code 在 VS Code 中运行“java fileName.java”,而不是写很多这样的东西。

编辑:

我正在运行的代码是这个.....文件名 - test.java

import java.io.*; 
public class SOPFileTest{ 
public static void main(String arr[]){
    try{
        // Creating a File object that represents the disk file. 
        PrintStream o = new PrintStream(new File("A.txt")); 

        // Store current System.out before assigning a new value 
        PrintStream console = System.out; 

        // Assign o to output stream 
        System.setOut(o); 
        System.out.println("Test 1"); 

        // Use stored value for output stream 
        System.setOut(console); 
        System.out.println("Test 2"); 
    }
    catch(Exception e){
        System.out.println(e.getMessage());
    }  
} 

现在我注意到了一些东西,它们是:

-当(文件名 == Class 名称)
---然后(VS代码)
-----在控制台打印最后一个 System.out.println
-----A.txt 不是在里面创建/写入的
---然后(Powershell)
-----在控制台打印最后一个 System.out.println
-----A.txt 在里面创建和/或写入

-当(文件名!= Class 名称)
---然后(VS代码)
-----显示与我上面包含的图像相同的错误。
---然后(Powershell)
-----在控制台打印最后一个 System.out.println
-----A.txt 在里面创建和/或写入

所以 powershell 按我的意愿工作,VS Code 不是......

如果文件名与 ClassName 不同,java 扩展会检测到它并抛出问题,即构建失败,您可以选择是否继续: 在此处输入图像描述

如果你选择继续,应该有: 在此处输入图像描述

[更新 -- Powershell 中的屏幕截图:] 在此处输入图像描述

它与 VS Code 中显示的问题大致相同。

Java 扩展要求class 必须在自己的文件中定义,所以文件名应该与 ClassName 相同,然后一切正常,无论是在集成终端中的 VS Code 中,还是在 Z3D265B4E1EEEF0DDF178VSCode:FA003 外部: 在此处输入图像描述

在此处输入图像描述

所以我想知道是否有任何方法可以在 Visual Studio Code 中获得这种类型的 output。

保持文件名和类名相同可以确保它可以成功构建和编译,这是第一步。

并且文本文件应该在当前工作目录中生成,在文件资源管理器中检查它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM