容易出错的问题可以自动应用建议的修复吗?

从我读到的关于 Error Prone 的内容来看,我发现它实际上会建议修复代码中的样式错误。即来自https://errorprone.info/docs/installation:


ERROR: example/myproject/BUILD:29:1: Java compilation in rule '//example/myproject:hello'

examples/maven/error_prone_should_flag/src/main/java/Main.java:20: error: [DeadException] Exception created but not thrown

    new Exception();

    ^

    (see http://errorprone.info/bugpattern/DeadException)

  Did you mean 'throw new Exception();'?

1 error

我没有看到的是,是否有办法自动应用这些建议的更改。我从命令行运行时容易出错。任何帮助表示赞赏!如果我能澄清任何事情,请告诉我。


人到中年有点甜
浏览 103回答 2
2回答

一只名叫tom的猫

没有办法直接自动应用它们。但是,您可以让 Error Prone 吐出包含修复的补丁文件。参考补丁文档:要对 Error Prone 编译器内置的检查应用建议的修复,您将向编译器调用添加两个编译器标志:-XepPatchChecks:MissingOverride,DefaultCharset,DeadException -XepPatchLocation:/full/path/to/your/source/root...您可以直接检查补丁文件,并将其应用到您的源代码中:cd /full/path/to/your/source/root patch -p0 -u -i error-prone.patch(请注意关于这是实验性的免责声明)

慕雪6442864

虽然当前没有记录,但可以直接将建议的更改应用于受影响的源代码。一个通过传递来做到这一点-XepPatchLocation:IN_PLACE:修改原始示例,调用变为:-XepPatchChecks:MissingOverride,DefaultCharset,DeadException -XepPatchLocation:IN_PLACE强烈建议仅当原始文件由版本控制系统管理时才使用此功能。然后可以使用 eg 轻松检查结果git diff并使用 eg 恢复结果git checkout -- .。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java