Thanks All for response, At present I am trying to play with existing Geany "project" plugins )
On Tue, Jan 22, 2013 at 10:49 AM, Lex Trotman elextr@gmail.com wrote:
On 22 January 2013 19:15, Thomas Young thomasyoung@free.fr wrote:
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.
Hi Thomas,
Or you can load tags files instead, so long as the symbols are in memory, and I am told (I don't use them myself) that the project plugins (there are two with slightly differing behaviour) will arrange for this to happen for you, rather like the msvc system.
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.
Thats why the project plugins are plugins, they significantly change the paradigm.
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)!
No, it still works within the files that are open, we don't want to force people to use the full project paradigm of the plugins just to look for definitions in one or a few files.
(As an aside, for myself, I'm managed to hack something up that uses libClang to lookup references, that doesn't need know about the whole
set of
project files in order to work. It actually just executes the
corresponding
compile command within libClang each time you click 'lookup reference',
and
so fits in quite nicely with the 'no list of files in project'
paradigm..)
That sounds interesting, are you going to make a plugin from it? Maybe you could load the symbols info into Geany and then not have to run clang again and again. Matthew was also looking at something similar I think.
Cheers Lex
Best regards,
Thomas
[...]
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel