[Qt-creator] Is there a way to load qtcreator plugins 'manually'?

Ziller Eike Eike.Ziller at digia.com
Fri Jun 21 08:54:57 CEST 2013


On 20.06.2013, at 20:30, Guido Seifert <wargand at gmx.de> wrote:

> 
>> Would it work to download the plugin to a different filename
>> (versioned, perhaps) and then inform Creator to load THAT plugin on
>> next startup? The new version could then remove the old one after
>> confirming success.
> 
> That is exactly what I try to do atm. Sort of. Versioning in filename. Deleting pluginspec of the old plugin. Then it shouldn't be loaded on restart and I can delete the old dll.
> Still not a perfect solution. Would be nicer to be able to load and unload plugins. Though
> I guess due to possible dependencies this could me much harder work than such a rare use case is worth it.

Supporting unloading / loading plugins after startup would require the whole of Qt Creator to be prepared for that. Most parts of Qt Creator initializes only once, and then expects everything to stay. Doing plugin changes at runtime would mean graceful (+ sensible) handling of e.g. removing/adding modes, shortcuts, menus, find/locator filters, navigation widgets, editor types (editors of that type might be open) etc etc
IMO definitely not worth the effort.

Why not:
1) download your updated plugin to a temporary location
2) start (detached) a small external helper executable that
2.1) shuts down Qt Creator ("gracefully")
2.2) copies the updated plugin to the right place in Qt Creator
2.3) restarts Qt Creator again (detached)
2.4) shuts itself down
You might need to gain admin rights for 2.2 in any case btw.
Works cross-platform.
No useless renaming of the plugin needed. Which, btw, would break plugins that depend on that plugin, because it would require the plugin *name* to change too. (Plugin name determines library name.)

That is basically what the Qt installer framework in combination with the UpdateInfo plugin does.

Br, Eike

-- 
Eike Ziller, Senior Software Engineer - Digia, Qt
 
Digia Germany GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Anja Wasenius
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B




More information about the Qt-creator mailing list