簡體   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