Advanced Change Reviewing
One of the good uses for AI in large projects is scattered refactoring. A prompt like “Route AdvancedScopePresenter to PlacedComponent._Presenter via ctors +update children” can quickly edit 3 different constructors and update 7 call sites in just about 1 second of time.
If you are not willing to trust every AI edit, and want to review the proposed changes, CodeVROOM provides several mechanisms to make it easier for you:
Outline View
CodeVROOM has built-in awareness of the hierarchical structure of the edited source files. So, it can map the AI-suggested edits to specific classes, methods and other symbols in the source file, and allows viewing the changes in the outline view:The numbers correspond to separately added/removed blocks, not lines or characters. E.g. in the example above, the _Presenter field is completely new, and the Text() constructor got 2 new blocks.
One glance at the outline is often enough to see if the model misunderstood the request, and quickly retry it, or switch to a smarter model.
Condensed View
If the AI changes are limited to a handful of fields or methods, CodeVROOM can collapse the unchanged ones, so you won’t need to scroll half way across the source file to get to the next change:
You can always expand them back via the outlining bar to the left, or disable condensed view via the change reviewing bar.
And, unlike viewing raw diffs, this view still presents the hierarchical structure of the code, so you can see that Text() is a constructor for the Text class inside PlaceComponent class.
Side-by-Side Mode
Trivial code changes are easy to review inline. E.g. it’s obvious what got removed and what got added here:
Others are not so easy:Sure Presenter got changed, but what was there before? Showing
presenterPresenter would not make things less confusing. So, CodeVROOM has a switch to quickly toggle between inline diff and side-by-side diff (default hotkey is Ctrl+\):
You can use inline view for trivial changes, and side-by-side view if you need more details.
Navigating Through Changes
You can quickly accept a change and go to the next one by pressing Ctrl+Enter, or reject one by pressing Ctrl+Backspace. Buttons in the reviewing bar, or context menu will work equally fine. You can also select a block of text covering multiple changes, and accept/reject them in bulk.
The changes are also color-coded in the scroll bar:Filled rectangles mean whole lines got added/removed. Hollow rectangles correspond to in-line changes (green means added tokens, red – removed tokens, yellow – replaced tokens). Red and green side-by-side means different types of changes too close together to show distinctly.
The navigation bar view can be especially useful when asking AI to add new fields, or route some data through function calls. The most common AI mistake would be trying to optimize a similar construct elsewhere in the code, and it will immediately get highlighted as either changed or removed token.
File Filters
If you are asking AI to do changes to multiple files, CodeVROOM can automatically filter the Files window accordingly:You can see the changed files, quickly understand what folder/project they belong to, and even see the number of remaining unconfirmed changes inside them.