运行 Java in vscode: "build failed, do you want to continue?" 如果我选择 "proceed",效果很好

running Java in vscode: "build failed, do you want to continue?" if i choose "proceed", it works fine

运行 Java 在 vscode 中:"build failed, do you want to continue?" 如果我选择 "proceed",它工作正常。this is the bug info

这是示例代码:

package Java.ch11;
class MyThread extends Thread{

public void run()
{
    this.setName("sub thread");
    for(int i = 0; i < 1000; i +=2)
    System.out.println("当前线程:"+this+" "+i);
}
}


public class CreateThreadTest{
    public static void main(String[] args)
    {
    MyThread mt = new MyThread();
    mt.start();
    Thread t = Thread.currentThread();
    t.setName("main thread");
    System.out.println("当前线程为:"+t);
    }
}

this is the workspace/folder info

当我 运行 你的代码时,它给了我这个错误。

您的代码没有错误。都是关于你的中文字母。它必须是 UTF-8 编码的。有很多中文字体样式不是 UTF-8 编码的。 here 上也有讨论。

现在您可以试试这个代码。

MyThread.java

class MyThread extends Thread {
    public void run() {
        this.setName("sub thread");
        for(int i = 0; i < 1000; i +=2)
        System.out.println("Current thread:" +this+ " "+i);
    }
}

CreateThreadTest.java

public class CreateThreadTest {
    public static void main(String[] args) {
        MyThread mt = new MyThread();
        mt.start();
        Thread t = Thread.currentThread();
        t.setName("main thread");
        System.out.println("The current thread is:"+t);
    }
}

在运行上面的代码之后,我得到了你想要的输出

The current thread is:Thread[main thread,5,main]
Current thread:Thread[sub thread,5,main] 0
Current thread:Thread[sub thread,5,main] 2
Current thread:Thread[sub thread,5,main] 4
Current thread:Thread[sub thread,5,main] 6
Current thread:Thread[sub thread,5,main] 8
.......

因为build会编译项目中所有的java文件,所以,我认为你的其他java文件存在一些问题,无法通过编译,但是这个一个可以通过编译,所以如果你继续,它仍然可以工作。您可以在 'OUTPUT' 面板上名为 'Language Support for java' 的下拉列表项中获取详细信息。