vscode-ibmi icon indicating copy to clipboard operation
vscode-ibmi copied to clipboard

Object Browser - Go To File . . . is too slow.

Open rbeckham opened this issue 1 year ago • 6 comments
trafficstars

I know this feature has been worked on several times and it is slow close to be usable. The problem with the current setup is that users that have a large number of source members in a library, (we have over 1000 at least) it just becomes too slow. Its like every keystroke I hit, the code4i extension tries to do another search and I become frustrated as I try to type in the name of the member I want to work on. It would be nice, if you could turn off the lookup after every keystroke and just allow me to type in an * when I'm ready for the extension to search. I actually dread using this feature now, because of the lookup on every keystroke.

rbeckham avatar May 14 '24 13:05 rbeckham

Its like every keystroke I hit, the code4i extension tries to do another search

You should send us a video of this. I believe we do not send a request to the server on every keystroke, only when an asterisk is provided at the end.

worksofliam avatar May 14 '24 13:05 worksofliam

https://github.com/codefori/vscode-ibmi/assets/6114419/949512ea-833e-4abf-8383-948dda66ca84

Hi, any pause in the video is me waiting on the extension to catchup. You can see in the video i typed the member name INVORDDFT in probably 1 second but I had to wait five seconds for it to catch up before i could do anything, same thing if I mis key a letter and have to back up, I have to wait several seconds after each key stroke. If its not hitting the server, I'm not sure what its doing then. Thanks for looking at this! :-) I probably use the "Go to file . . ." feature 15 times a day so any help on this is appreciated.

rbeckham avatar May 14 '24 14:05 rbeckham

@rbeckham Woah, your cached list must be huge! This is pulling from a local data store.

worksofliam avatar May 14 '24 14:05 worksofliam

Right....I am able to scroll through what is cached. Its almost like it has cached every member in that library for some reason. Also there is a ton of items cached that live on the IFS. Almost as if every shortcut in the IFS that I have made, all of the files have been cached whether I have accessed them or not...it just cached the entire folder. I can clear the cache to help, but maybe too only items that have been accessed before need to be added to the cache. I have no problem typing the * to initiate a search for uncached items.

rbeckham avatar May 14 '24 14:05 rbeckham

@rbeckham Yes, since the dawn of the implementation we always cached the data since we didn't have a way to search on the server, but seeing as we have a way to filter down correctly on members now, the cache may as well be removed.

Ideas:

  • Remove cache of files
  • Add the ability to search IFS directories like we can libraries/source files

@chrjorgensen What do you think of my above ideas?

worksofliam avatar May 15 '24 13:05 worksofliam

@rbeckham IIRC we cache the content of any opened object filter or IFS shortcut / directory. So the cache will grow over time - but you can clear the cache by scrolling to the bottom of the list and click on Clear cached.

The Go to File function will only search on the server when you are entering a QSYS.LIB name (i.e. no beginning '/') and press * - but there is no such function (yet) for IFS names.

@worksofliam I think the experience will vary depending on the server - if it's quick to respond, server searching is better. But if it's slow, local search may be preferred...

chrjorgensen avatar May 27 '24 13:05 chrjorgensen