I’ve completed a comprehensive review of the editor’s typing path and found that the slowdown was probably cumulative rather than one single regression. Several useful background features were doing more work than necessary after every keystroke, particularly in larger projects and Git-backed solutions.
The following improvements will be included in the next release: https://feedback.objo.dev/bug/1293
- Editing a method now updates only that method’s source range instead of rebuilding the entire source file after every character.
- Live compilation work is coalesced while typing. Diagnostics remain live, but repeated edits now produce one compilation of the latest source rather than preparing every intermediate version.
- Git change indicators are still updated automatically, but Studio now waits until typing settles before calculating them. Git was a contributing factor, but not the sole cause.
- Code folding and visual indentation analysis now run away from the UI thread. Older calculations are cancelled when another edit arrives.
- Autocomplete now avoids repeated copies and scans of the method body.
- Ghost-text completion no longer allocates a temporary list on every query.
- Breakpoint reconciliation immediately exits when the file has no breakpoints.
- Ordinary typing no longer triggers unnecessary full-document whitespace checks.
- Find results are coalesced while typing, while Find Next, Find Previous and Replace still force an immediately current result.
- Matching-parenthesis calculations are cached across editor redraws.
- Caret information and member-tree styling avoid redundant recalculation.
- Compilation no longer repeatedly creates identical Worker catalogues for projects without referenced Workers.
- Unnecessary Navigator and test-discovery work has been removed from the individual-keystroke path.
None of these changes removes or disables editor functionality. Autocomplete, live diagnostics, Git gutter indicators, folding, indentation, Find/Replace, breakpoint movement, undo history, selections and source navigation are all preserved.
Editor responsiveness is one of Objo Studio’s most important qualities, so I’m treating this as a core product issue rather than an optional optimisation. Thank you again for drawing attention to it.