启用-Xlint for VSCode Java编译

plicqrtu  于 2023-05-15  发布在  Java
关注(0)|答案(1)|浏览(134)

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的字段不是transient。

pbpqsu0x

pbpqsu0x1#

安装Code Runner扩展,然后有两种方法可以修改命令
1.在设置面板上搜索code-runner.executorMap,单击Edit in settings.json

1.在打开的 * settings.json * 中修改

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

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

1.右键单击Run Code (Ctrl+Alt+N),或右上角的三角形按钮选择Run Code

1.将以下配置添加到 * settings.json *

"code-runner.customCommand": "cd $dir && javac -Xlint $fileName && java $fileNameWithoutExt",

1.使用以下方法执行脚本
Ctrl+Shift+P --> Run Custom Command (Ctrl+Alt+K)

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

"code-runner.runInTerminal": true,
  • 一般情况下,我们还是建议您使用Extension Pack for Java,以获得更多的功能和更好的体验。*

相关问题