Of late I've been spending quite a bit of time building AddIns for POIDE. In fact I think the IDE is good enough that it could (and maybe should) be expanded for more general purpose use in programming. There is no other IDE with all of the features of POIDE... and Pelle I am extremely grateful for all your work and time on this!
There are a couple of changes that hopefully aren't too big, that would make all the difference in the world...
1) Adding files to projects.
It would be really nice if we could add "extra" files to projects. Often I will have pdf and html reference files related to the work I'm doing and it would be really nice if we could stuff them in an "Extra" category to open on a click or double click.
2) Adding new file types via AddIns...
The present AddIn_AddFileType macro is one of POIDE's best tools. However the implementation could be just a tad better. The current macro assumes we are going to build every file type we add and this isn't always the case. For example in my latest AddIn (C++ on POIDE) I was unable to get it to add .h or .hpp files to the project. I would get the dreaded "Can't determine file type from extension" message, or it would try to build the file!
I don't know the internals of POIDE so I don't know how much work this is, but I would really like to see a change in the struct used by the AddIn_AddFileType macro.
typedef struct tagADDIN_ADD_FILE_TYPE_W { /* (5.00) */
UINT cbSize;
DWORD DisplayAs; <--- select project tab for new file type...
LPCWSTR pszDescription;
LPCWSTR pszExtension;
USHORT (CALLBACK *pfnParser)(USHORT usCookie, LPCWSTR pszText, int cchText, ADDIN_PARSE_POINT aPoints[], PINT pcPoints);
DWORD reserved;
LPCWSTR pszShells;
} ADDIN_ADD_FILE_TYPE_W, *PADDIN_ADD_FILE_TYPE_W;
DisplayAs, should let us set a location for the file ... Source, Include, Resource, Extra... So that when we add a file type to the IDE we can specify where it should be added in the project pane. For example, with the C++ AddIn, I've added the HPP file type, to get C++ syntax highlighting of header files, but was unable to add them to the project. This would provide a much needed way to work around that problem.
Also if pszShells is NULL it should not try to build the file.
3) Workspace Files
POIDE should provide an internal dialog to let us view, edit, move and copy Workspace files. It would be a huge convenience to place workspace files below the tree where the project files are. The WsEdit addin allows this, with some limitations and I do believe it would be better as an internal dialog where it could load the current workspace on launch.
4) Replaceable dialogs
I'm thinking mainly of the project options dialog although there might be others. Being able to replace the project options dialog with one of our own, from an AddIn, would be extremely helpful in integrating new compilers in to the IDE. I'm not sure how you'd set that up though. Perhaps through callback functions that block certain dialogs if they return FALSE, so we can display our own.
Love your work Pelle... and thanks again for such a fine product!