Hello!
I have three suggestions for making improvements to the IDE.
Recent Files menu
I have set my IDE to load the files that where opened in the previous session on startup.
I have set the number of items in the Recent Files menu to 30.
I have around 25 files opened in the IDE.
Every time I launch the IDE, the Recent Files menu is spammed with the currently open files, so there are only 5 actually recent files left.
The other items are essentially useless, because they will only switch to the tab of an already opened file.
If a file can be open only once at a time in the IDE, it serves no purpose to have currently opened files appear in the Recent Files menu.
If the user wants to quickly access one of the open files, he or she could simply use the dropdown menu at the right end of the tab bar.
So here is my suggestion:
A file should only be added to the Recent Files menu at the time it is closed in the IDE.
When a file is opened, it should be removed from the menu.
In order to make sure the menu always contains the desired number of items set by the user, the IDE should store much more recent file names internally than it shows in the menu. One suggestion is to determine the number of stored files as follows, where NumRecentFiles is the value chosen by the user:
NumStoredFiles = NumRecentFiles + min(NumRecentFiles, 20)
In other words, store twice as many files as are displayed, but at least 20 extra files.
So if a user sets the number of recent files to 10, then 30 files will be stored internally.
With a number of 30, 60 files will be stored.
Windows jumplists
A similar thing happens with the Windows jumplists (the list of recent files for each application, displayed when right-clicking on a taskbar button).
I have set the jumplist size to 20 items, and whenever I open the IDE, it completely spams the jumplist with files open inside the IDE.
This makes the jumplist practically useless, because it contains only items that are open in the IDE anyway, so I could simply launch the IDE instead.
To resolve this issue, I suggest that files should only be added to the jumplist when they are opened because of the user's intent, such as:
- when using the File -> Open menu,
- when Ctrl-doubleclicking on an IncludeFile line,
- when doubleclicking a .pb file in the Explorer,
- when dragging and dropping a file into the IDE window.
A file should not be added to the jumplist when it is opened upon launching the IDE, or when the debugger detects an error in an included file and opens it to show the offending line.
Improving startup of the IDE
Like I said, I have 25 files opened in the IDE. Every time I launch it, it loads these files one after one.
This causes a lot of wait time, annoying screen flashes as every file is being displayed, and also a waste of CPU resources to render every file only to be overwritten by another file moments later.
My suggestion here is as follows:
When launching the IDE, instantly add tabs for all open files to the tab bar.
Activate the tab of the last file (it would actually be good if the IDE would remember the last active tab, instead of activating the last tab in the list).
Load this file first and display the source code.
Load and parse the other inactive files in a background thread, as necessary for the autocompletion to work.
Regards,
Nils