Am 22.01.2013 09:15, schrieb Thomas Young:
Hi all,
One thing that's different from Geany from other IDEs I've used is that it doesn't have "files in the project" but rather just stores "where
are
the project's files" (ie. base path).
Right. Speaking for myself, and the build setup I'm working with right now, this actually suits me very well.
Essentially, the set of files for a 'project' for me is defined as 'all the source files under a specified root directory'. And this then fits in well with the way Geany works, because I can add new source files just by creating files, or copying and renaming existing files, and so on, without any additional 'add to project' action required.
(And from various posts I've seen, I have a feeling that quite a lot of people have some kind of similar project setup now.)
One thing that _doesn't_ fit in so well with the geany (core) paradigm is the 'go to tag definition' feature (which is included in Geany core).
I have a build setup on Windows, also, with MSVC, and for comparison in that case I actually need to run a script to update visual studio project files after adding a new object, and depend on visual studio detecting this and offering to reload the project.
But then, after it reloads the project file, it then knows about all of the relevant source code and can do this properly (if you give it a bit of time to update it's source code indexing in the background).
In Geany, however, in order for the 'go to tag definition' feature to work you actually need to make sure you have the source code file that defines the tag loaded. So, for this to actually be useful in the general case, you _do_ actually need to have your whole set of project files loaded.
The gproject/geanyprj plugins allow generate tag files based on the project files (as in project files, not session files) so that go-to-tag works without having the files open.
So, this is actually completely inconsistent with the whole simple 'list of open files is a session and there is no list of files in project' paradigm being discussed, I think, and is then also confusing and misleading for people starting to use Geany, as well as complicating the core source code and dependencies. So, I suggest that this whole 'tag' based code analysis thing should actually be _removed_ from Geany core (and perhaps moved into one of the project management plugins)!
The confusion comes from Geany (mis-)using the term project when it actually means session. I understand that this is very confusing for newcomers.
Best regards.