为 VSCode Java 编译启用 -Xlint

问题描述 投票:0回答:1

VSCode 的 Java 扩展在捕获大多数警告方面做得非常出色,但最近我在我的项目中遇到了几个警告,即 VSCode 没有报告,但我通过使用

-Xlint
标志进行编译发现了这些警告。

以本次SSCCE为例:

public class Test
{
    public static void main(String[] args)
    {
        int x = 3;
        int y = (int)x;

        System.out.println(y);
    }
}

这段代码在 VSCode 中运行得很好,没有警告,但是如果你用

javac -Xlint Test.java
编译它,你会得到这个:

Test.java:6: warning: [cast] redundant cast to int
        int y = (int)x;
                ^      
1 warning

我想要的是在 VSCode 中报告这些警告的某种方式,就像其他警告一样(它们用黄色波浪线突出显示,您可以将鼠标悬停在上面)。我试过,但没有成功,看看是否有办法改变默认的 javac 编译器参数,但没有找到配置选项(如果存在)。

上面的警告只是 VSCode 似乎没有报告的一个例子。我还通过使用

-Xlint
标志发现了其他警告,例如应该标记为 transient 而不是的字段。

java visual-studio-code warnings
1个回答
0
投票

安装Code Runner扩展,然后你有两种修改命令的方式

  1. 在设置面板上搜索

    code-runner.executorMap
    ,点击
    Edit in settings.json

  2. 在开头修改settings.json

            "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
    

            "java": "cd $dir && javac -Xlint $fileName && java $fileNameWithoutExt",
    

  3. 右键单击

    Run Code (Ctrl+Alt+N)
    ,或右上三角按钮选择
    Run Code


  1. settings.json中添加如下配置

        "code-runner.customCommand": "cd $dir && javac -Xlint $fileName && java $fileNameWithoutExt",
    
  2. 使用以下方法执行脚本

    Ctrl+Shift+P -->

    Run Custom Command (Ctrl+Alt+K)


您可以添加以下设置以在TERMINAL而不是OUTPUT面板中进行Code Runner

输出
    "code-runner.runInTerminal": true,

一般情况下,我们还是建议您使用Java扩展包以获得更多的功能和更好的体验。

© www.soinside.com 2019 - 2024. All rights reserved.