francostellari / NppPlugins

Other
105 stars 6 forks source link

[AutoSave] Allow more loose saving system #39

Closed ColonelGerdauf closed 1 year ago

ColonelGerdauf commented 1 year ago

What I had in mind here is that the plugin, while quite useful, can bog down the app considerably when there is a large enough number of files in the list for Notepad++.

So an effort to alleviate that is to ignore the saving for files that do not have any unsaved changes (marked as blue), and also to ignore all of the "new ##" documents, as they are automatically saved in the cache anyways.

francostellari commented 1 year ago

Unfortunately, there is no way for a plugin to know if a buffer is dirt (need saving) or not (already saved) unless the tab of the file is first selected. This caused an undesirable flickering of the tabs until v1.61 and it received a lot of complain.

Currently the plugin asks N++ to save all named files. Looking at the file time, I though that the already saved files were not saved again. So I'm not sure that your "bogging" would be any different with your solution.

I don't believe the "new" files are currently saved either.

Feel free to try the older version: https://github.com/francostellari/NppPlugins/blob/main/AutoSave/AutoSave_dll_1v61_x64.zip

ColonelGerdauf commented 1 year ago

Well, N++ marks the distinction with blue (clear) and red (unsaved) file icons.

I had originally used that cited version (1.5.4 IIRC) before manually upgrading to V2. In the original version, I have several documents open (10+, in my case 30), but a lot of them were "new" and very few needed updating. Despite that, whenever the save got triggered, the program hangs for a few moments until it ensures that everything is saved over again.

After the manual update, the issue seems to have lessened significantly, but is ultimately still present.

francostellari commented 1 year ago

Indeed the icon in the buffer tab is an indicator of the buffer state. Unfortunately to associate it to the buffer id and filename, the tabs needs to be selected one at the time, which slowed down the process in v<2. V>=2 simply ask n++ to take care of saving the unsaved buffers. There is no bogging down by the plug in anymore. It's the speed of saving the files by N++ as you would do "File/Save All".