Skip to content

Group and act on diagnostics in the Error Prone tab, and apply fixes by scope - #2

Merged
salatmaster merged 6 commits into
mainfrom
diagnostics-tab-and-scoped-fixes
Sep 30, 2026
Merged

salatmaster merged 6 commits into
mainfrom
diagnostics-tab-and-scoped-fixes

Conversation

@salatmaster

Copy link
Copy Markdown
Owner

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's generatedSourceDirs and 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 \u escapes 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, but compilerArgs is 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.

@salatmaster
salatmaster merged commit 7cbcec1 into main Sep 30, 2026
4 checks passed
@salatmaster
salatmaster deleted the diagnostics-tab-and-scoped-fixes branch October 1, 2026 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant