Group and act on diagnostics in the Error Prone tab, and apply fixes by scope - #2
Merged
Merged
Conversation
… javac's warning limit
… text it escaped written out
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Error Prone tab in the Problems tool window becomes a panel of its own: diagnostics grouped by check or by file, a filter with severity and generated-code toggles, and the details of the selection with its fix, its suppression and its documentation. Acting on a diagnostic moves the selection on to the next one, so a list can be worked through a click at a time.
Apply All Error Prone Fixes now asks for a scope the way Inspect Code does, compiles only the tasks that reported fixable diagnostics there, and keeps only the files in scope in the patch. It is also under Code | Analyze Code and the Project view's Analyze menu, and the tab runs it for a single check.
Fixes are no longer offered or applied in generated code: code the IDE marks as generated, and code in a source root inside an excluded folder, which is where a generator's output under
build/ends up. The IDE itself only marks the idea plugin'sgeneratedSourceDirsand annotation-processor output as generated.Error Prone's Javadoc fixes (
MissingSummary, for one) escape non-ASCII text, so a Russian comment came back as a row of\uescapes in the patch. The plugin writes those characters out again, but only the escapes Error Prone added; the ones already in the code stay as written.Every notification is titled Error Prone, and the one about javac's 100-warning limit copies the line that raises it, in the build's DSL and wrapped in
allprojects. I tried lifting the limit in Run Error Prone's own build, butcompilerArgsis a task input, so the next ordinary build recompiled everything and dropped what was found past 100. The end-to-end test now checks that the build after Run Error Prone is up to date.The README is rewritten around getting started, a table of where things are, and a FAQ; the real limitations are what is left of the old list.
89 tests pass, including new light tests for the tab and the scope, and the Plugin Verifier finds it compatible with IC and IU 2026.1 with the same three experimental-API usages as before. The branch also carries the earlier code cleanup. The new tab still needs a pass by hand in the sandbox.