KDevelop4 project file
Adam Treat
treat at kde.org
Thu Jul 20 16:53:46 UTC 2006
On Thursday 20 July 2006 12:43 pm, mwoehlke wrote:
> Adam Treat wrote:
> > The project files are now in INI style format, it is true. This is
> > because we now use the KConfig framework for project settings too. This
> > has the benefit that we can use KConfigXT and that all settings are saved
> > in the exact same way. [snip]
> >
> > The advantages to this are numerous:
> >
> > * Plugin developers don't have to worry about whether settings belong in
> > the project or in the regular config. Settings are settings. When a
> > project is opened then settings are given a project scope. When a
> > project is not opened then settings are given a regular scope.
> >
> > * Users don't have to wonder how to find a particular setting... "Is it
> > in the project config or is it in the regular config"... there is only
> > one place to get/set settings. The config dialog.
> >
> > * All settings can be configured on an individual project basis. A
> > project manager could finally define AStyle settings for the whole
> > project, for instance. And developers who work on more than one project
> > might have AStyle settings for each different project.
>
> I can already imagine the headache this is going to create. "Oh, but I
> wanted that setting to apply to ALL projects! You mean I have to close
> my active project, make the change, and then wait five minutes while my
> project re-opens?". It seems like we need to provide a way for the
> configure dialog to let us pick to apply settings to the project, or
> globally.
That was an alternative, but mattr and I talked about it and thought it'd be
obvious if the top-level menu item changes from 'configure->kdevelop'
to 'configure->project' when a project is opened. Obviously, if it
says 'configure->project' it will only relate to that project.
> For the sake of argument, what about providing a way to specify that a
> setting is always-global or always-project-local? However, I admit that
> a setting that only makes sense in a project could have a default value,
> and I can't think of any setting that I can't also invent a scenario in
> which I would want it to be project-specific.
Exactly. I can think of exactly one setting that is set by the user which has
no business in a project file:
[General Options]
Read Last Project on Startup=true
That obviously, needs to go in the user's settings. Everything else can
theoretically be useful to set on a per project basis.
More information about the KDevelop-devel
mailing list