Hi,
I recently found geany and I must say it is a really nice IDE. I'd like to use it as my main editor but there are still a few things I miss to make the switch completely (I currently use emacs). Some of them might actually be my lack of experience with geany (I'm using the latest checkout from the svn repository). Some of these might have been already asked in the past:
- Tags generation for C/C++ files shouldn't use the C preprocessor. I try to use it with the Linux kernel but there is no way I could add the required Linux definitions and includes on the "geany -g" command line, especially when I build the kernel outside the source tree and extra links are required for the include directories. Since geany can generate the tags from the loaded files directly, I don't understand why it calls cpp when running from the command line. My current workaround is to load plenty of files (I use "find tag definition" quite often to navigate the source). Another alternative is to use something like sed or awk to translate ctags into geany tags but I haven't looked at how close the formats are. Yet another alternative is to allow geany to save the tags so that I can close the files but be able to load the previously generated tags
- Allow additional regexp to be specified for tag detection (I do this with ctags)
- "find *next* tag definition/declaration" command as it normally stops at the first definition. There could be others, especially in the Linux kernel when many functions have different implementations depending on the architecture
- Command to find a tag definition via a dialogue box rather than the word in an editor
- Navigating back after finding a tag should go to the previous position where the find command was invoked. It currently goes to the beginning of the buffer if the tag was found in the current buffer (more annoying) or returns to one line before the previous position (acceptable, though it would be better to return on the same line and column)
- Some preferences should be per project or file type to accommodate different coding standards (i.e. Linux kernel work vs some internal company project). I also prefer Python indentation to use spaces and C indentation to use tabs but geany only supports one setting for all
- Remember the opened files per project rather than global (unless no project was opened). I work on more than one project and start several geany instances
Otherwise, thanks for creating and maintaining this wonderful tool.
Regards.
-- Catalin