Making launch configurations more usable

Alexander Dymo alexander.dymo at
Wed Feb 24 20:04:30 UTC 2010

Thanks for going through this. I didn't expect anyone reading all these 
lengthy comments :)

> > * we don't need per-project config, per-session configuration is
> > perfectly enough
> How do you know that? In fact, I don't have any session-specific launch
> configs, they're all inside the project as they _belong_ to the project.
> I strongly object removing that.

I have two sessions now. One is "kdevplatform+kdevelop+ruby+php" with just one 
launch (kdevelop app). Another is my work project (without a launch as I can't 
launch rails projects yet).
In both cases for me there's no need for per-project launch configurations.

> > ** app templates still need to be able to provide default launch
> > configuration
> I find that somewhat
> problematic to expose, especially in the light of app-templates created
> outside of kdevelop (our control) as we can't easily change the
> config-layout anymore.
But we need to do this. No user will be able to launch the project without 
default launch configurations. 
And I don't think that supporting old launch configurations is that much of a 

> > * as a top-level items in the leftmost tree we need to have application
> > types (like in eclipse)
> No way.
Hehe, why?

> > * launch name should be automatically choosen depending on current
> > configuration
> This only works when using the context-menu option to create a config as
> one cannot know what the target or executable will be when creating one
> in the dialog. And having the name non-editable is not good either as it
> makes it impossible to have different launch configs for the same app
> but different env/arguments setup.
All launches I created have this "New launch configuration name". I didn't 
know how to edit them (renaming in the treeview is so subtle). So, for me 
naming should be explicit action done in launch configuration settings (right 
part of the dialog).

> > == Native Application Configuration ==
> > ** there should not be the current bug when typing a character doesn't do
> > anything (if there's no completion entry)
> Complain to Nokia.

No, we need to automatically open a popup list of all possible completions. 
Just like our quick open dialog does.

> > * s/Native Application/Application
> > ** reasons: it's not clear what "native" is. scripts can also be launched
> > as native apps
> I object. An application is also, but its not launchable by the
> execute plugin. If you have a better name instead of Native that says
> "execute as process in your system without a shell" please share it.

Actually it's not true. We do use shell to launch. And I think it's a good 
idea to do so.

> > * not clear whether "Build and install as superuser" option uses kdesu or
> > sudo
> IMHO as KDevelop is a KDE app its clear that it uses the kde-versions of su
>  and sudo. But if you want to add an explaining comment to the
> tooltip/whatsthis please do so.
Ok, but I mostly referred that you can't know whether you use kdesu or 

> > * move all gdb configs except for "Debugger Executable" to "Advanced" and
> > hide them
> Most of them don't even work :)
I'll go through them and try to see what works.

> > * move remote debugging explanations from what's this to inline microcopy
> > * provide micropy for "Debugging shell" option as well
> What is "microcopy"?
Small text near the widget. We can use the text which is there in what's this 
entry. I just want it inline. 

> > ** this way we no longer need the "+" button
> > ** remove button should be somewhere on the right
> Hmm, I think it can also be below the tree, additionally context-menu
> and Del button should work for deletion.

> > == UI ==
> > * tabs for "Launch", "Debug", "Profile", etc.
> I'd prefer the second, I don't like the tab-ui of eclipse very much.
> And if you build and install valgrind plugin you'll suddenly have arrows
> on the tab-list (as each valgrind-tool has a separate config page)
Ok, then we'd need "Execute" child item, just to make it more obvious that we 
have the same config for executing and debugging.

> > == Suggestions ==
> > * user-settable shortcuts for launch configurations
> To activate them as "current" or to directly run/debug them? 
To directly run/debug.

> Personally
> I'd like to drop the "current launch config". IMHO Eclipse way of doing
> that part is quite Ok, except for the "takes the current selection after
> initially starting eclipse, but never again later on". So what I think
> we should have is the launch-configs in a submenu under Debug and also
> under Launch. And a toolbar button with dropdown. Both the toolbarbutton
> and Debug/Launch menu entries are directly executable which simply
> launches the last-used config.
Absolutely agree. 

> > * do we still have floating debugger toolbar?
> No.
Ok, need to remove the option then.

> Additionally I'd like to note that most of this will have to wait for
> 4.1 IMHO, most of the changes are too big to push them this late in the
> cycle.

So, I propose to do at least these before 4.0:
1. provide default launch configs for app templates (I do believe this is a 
release showstopper)
2. Go through debugger options and remove unused ones and inline document 
3. Put all gdb options to sliding-down "Advanced" section
4. Prefill gdb box with "gdb"
5. Change "project target" lineedit into a combobox
6. Add "Execute" item to the tree (which would be selected by default when you 
select parent launch configuration item)

More information about the KDevelop-devel mailing list