Repository navigation
New implementation of Project Navigator - Performance Improvements - #411
Conversation
# Conflicts: # CodeEdit.xcodeproj/project.pbxproj # CodeEdit/Info.plist
|
Looks great @lukepistrol! |
|
@lukepistrol : Ok, I got to test it seems to work fine. I would like to hear @RayZhao1998 opinion, I could take a look at the statistics. |
|
It looks great! |
…gator Size` (row height)
|
I've tested this. It's awesome! A little bug: if I open a file whose folder is not expanded from breadcrumbs, the selection state will not change. |
nanashili
left a comment
There was a problem hiding this comment.
I don't see any issues. Looks good @lukepistrol
| if row == -1 { | ||
| outlineView.deselectRow(outlineView.selectedRow) | ||
| } | ||
| outlineView.selectRowIndexes(.init(integer: row), byExtendingSelection: false) |
There was a problem hiding this comment.
I did a quick experiment. You can do like this to expand current selection file's folder.
var parent = item.parent
while parent != nil {
outlineView.expandItem(parent)
parent = parent?.parent
}
There was a problem hiding this comment.
Yeah it works great but it introduces another problem: When you collapse the folder of the selected item and then expand another folder, the folder of the selected item gets expanded as well.
There was a problem hiding this comment.
I think I'll leave it for now and we can figure something out in a later PR.
I mean Xcode does this too when fist opening a project you never opened before. But I can change it to auto expand the first level. |
It actually is the exact size
Yeah I know |
|
Some considerations:
Registrazione.schermo.2022-04-08.alle.16.35.10.movRegistrazione.schermo.2022-04-08.alle.16.39.25.mov
Registrazione.schermo.2022-04-08.alle.16.43.25.mov |
This is because the editor view is not becoming first responder once a file is opened. Not in scope of the project navigator! |
|
@lukepistrol : This happens to me, the elements no longer keep the selection, see both videos. Registrazione.schermo.2022-04-08.alle.16.47.51.movContinue: Registrazione.schermo.2022-04-08.alle.16.52.30.mov |
|
@Angelk90 selection should now work as expected |
|
@lukepistrol : Seems not to be a problem at the moment. |
|
How do you guys get bugs but when I test it it's fine?! |
They only occurred when you opened files, then closed them all together and then reopened a file. Was a small recursion problem 😄 |
@nanashili : There we invent them. 😂 |
RayZhao1998
left a comment
There was a problem hiding this comment.
LGTM! It's awesome!






Description
This is still WIP.
I implemented a
NSViewControllerRepresentablehosting aNSOutlineViewin order to fix performance issues on very large folders.As you can see below there are no delays at all when unfolding a folder which took up to a couple of seconds as discussed here: #395.
TODOs:
Out of scope for now:
Related Issue
Checklist
Screenshots
Screen.Recording.2022-04-07.at.11.19.54.mov