Qt Creator Plug-in Gallery: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
[[Category:Tools::QtCreator]]<br />[toc align_right=&quot;yes&amp;quot; depth=&quot;3&amp;quot;]
[[Category:Tools::QtCreator]]
[toc align_right="yes" depth="3"]


= Extend Qt Creator =
= Extend Qt Creator =
Line 23: Line 24:
Improved in terms of importing a project to a SVN repository.
Improved in terms of importing a project to a SVN repository.


&quot;site&amp;quot;:http://bavooo.be/qtcreator/
"site":http://bavooo.be/qtcreator/


=== Bazaar plugin (merged) ===
=== Bazaar plugin (merged) ===
Line 29: Line 30:
A plugin adding support for the bazaar version control system.
A plugin adding support for the bazaar version control system.


&quot;site&amp;quot;:https://blueprints.launchpad.net/bzr/+spec/bazaar-plugin-for-qt-creator-ide
"site":https://blueprints.launchpad.net/bzr/+spec/bazaar-plugin-for-qt-creator-ide


Status: merged into Qt Creator 2.2
Status: merged into Qt Creator 2.2
Line 39: Line 40:
Autotool support for Creator
Autotool support for Creator


&quot;site&amp;quot;:http://www.gitorious.org/qtcreator-autotools-plugin&amp;quot;
"site":http://www.gitorious.org/qtcreator-autotools-plugin"


Status: merged into Qt Creator 2.4
Status: merged into Qt Creator 2.4
Line 45: Line 46:
=== Premake Project Manager Plugin ===
=== Premake Project Manager Plugin ===


This plugin adds support of &quot;Premake&amp;quot;:http://industriousone.com/premake build configuration tool into Qt Creator.
This plugin adds support of "Premake":http://industriousone.com/premake build configuration tool into Qt Creator.


&quot;site&amp;quot;:https://gitorious.org/qtcreator-premake-plugin
"site":https://gitorious.org/qtcreator-premake-plugin


=== CodeBlocks Project Manager Plugin ===
=== CodeBlocks Project Manager Plugin ===
Line 53: Line 54:
This plugin can read Codeblocks .workspace project files. It reads the projects hierarchy and parses the individual .cbp project files to extract the source and header files and the build targets. Using commandline Codeblocks it allows you to (re)build your workspace. Also the build output is parsed(gcc and msvc supported).
This plugin can read Codeblocks .workspace project files. It reads the projects hierarchy and parses the individual .cbp project files to extract the source and header files and the build targets. Using commandline Codeblocks it allows you to (re)build your workspace. Also the build output is parsed(gcc and msvc supported).


&quot;site&amp;quot;:https://gitorious.org/codeblockprojectmanager
"site":https://gitorious.org/codeblockprojectmanager


=== Google Native Client Toolchain Plugin ===
=== Google Native Client Toolchain Plugin ===
Line 59: Line 60:
Adds the Chrome browser as a target. For use with the NaCl port of Qt.
Adds the Chrome browser as a target. For use with the NaCl port of Qt.


&quot;site&amp;quot;:http://wiki.qt.io/Qt_for_Google_Native_Client
"site":http://wiki.qt.io/Qt_for_Google_Native_Client


=== Meique build system plugin ===
=== Meique build system plugin ===


&quot;site&amp;quot;:https://github.com/Meique/MeiqueQtCreatorPlugin
"site":https://github.com/Meique/MeiqueQtCreatorPlugin


=== CMake Project Manager ===
=== CMake Project Manager ===
Line 69: Line 70:
Enhances the CMake integration
Enhances the CMake integration


&quot;site&amp;quot;:https://github.com/seiyar81/cmakeprojectmanager
"site":https://github.com/seiyar81/cmakeprojectmanager


=== Boost.Build Project Manager ===
=== Boost.Build Project Manager ===


Provides basic integration with &quot;Boost.Build&amp;quot;:http://www.boost.org/boost-build2/ system to build C++ projects.
Provides basic integration with "Boost.Build":http://www.boost.org/boost-build2/ system to build C++ projects.


&quot;site&amp;quot;:https://github.com/mloskot/qt-creator-plugin-boostbuild
"site":https://github.com/mloskot/qt-creator-plugin-boostbuild


Status: usable, works with Qt Creator 3+, early development
Status: usable, works with Qt Creator 3+, early development
Line 85: Line 86:
Add Ruby language support to QtCreator.
Add Ruby language support to QtCreator.


&quot;site&amp;quot;:http://hugopl.github.io/RubyCreator
"site":http://hugopl.github.io/RubyCreator


== Code documentation and status ==
== Code documentation and status ==
Line 93: Line 94:
Generates doxygen comments from source code and can launch doxywizard for editing doxygen config file
Generates doxygen comments from source code and can launch doxywizard for editing doxygen config file


&quot;site&amp;quot;:http://dev.kofee.org/projects/qtcreator-doxygen/
"site":http://dev.kofee.org/projects/qtcreator-doxygen/


Status: works with Qt Creator 2.5
Status: works with Qt Creator 2.5
Line 101: Line 102:
Shows the status of Jenkins on the left site. This Plugin is based on the CruiseControl-Plugin.
Shows the status of Jenkins on the left site. This Plugin is based on the CruiseControl-Plugin.


&quot;site&amp;quot;:https://github.com/MichaelSp/QtCreator-Jenkins-Plugin
"site":https://github.com/MichaelSp/QtCreator-Jenkins-Plugin


Status: works with Qt Creator 2.5
Status: works with Qt Creator 2.5
Line 109: Line 110:
=== Class browser ===
=== Class browser ===


&quot;site&amp;quot;:http://www.cppblog.com/visualfc/archive/2010/01/21/106142.html
"site":http://www.cppblog.com/visualfc/archive/2010/01/21/106142.html


=== Emacs keys ===
=== Emacs keys ===


Emacs-style keybindings, alike &quot;FakeVim&amp;quot;
Emacs-style keybindings, alike "FakeVim"


&quot;site&amp;quot;:http://github.com/fberger/emacskeys
"site":http://github.com/fberger/emacskeys


Status: last commit June 2011, works with Qt Creator 2.2.1
Status: last commit June 2011, works with Qt Creator 2.2.1
Line 121: Line 122:
=== Quick Attach ===
=== Quick Attach ===


&quot;site&amp;quot;:https://github.com/NickRF/qtcreator-quickattach
"site":https://github.com/NickRF/qtcreator-quickattach


=== Editor Tabs ===
=== Editor Tabs ===


site&amp;quot;:https://github.com/chenjiexin/editortabs
site":https://github.com/chenjiexin/editortabs


=== XmlTree Plugin ===
=== XmlTree Plugin ===


A plugin for reading and editing xml files as tree.<br />&quot;site&amp;quot;:http://gitorious.org/qt-creator-xml-tree-plugin
A plugin for reading and editing xml files as tree.
"site":http://gitorious.org/qt-creator-xml-tree-plugin


Status: active developed
Status: active developed
Line 139: Line 141:
Static analysis of C/C++ code developed as an external opensource tool.
Static analysis of C/C++ code developed as an external opensource tool.


Checks for:<br />* Out of bounds checking<br />* Check the code for each class<br />* Checking exception safety<br />* Memory leaks checking<br />* Warn if obsolete functions are used<br />* Check for invalid usage of STL<br />* Check for uninitialized variables and unused functions
Checks for:
* Out of bounds checking
* Check the code for each class
* Checking exception safety
* Memory leaks checking
* Warn if obsolete functions are used
* Check for invalid usage of STL
* Check for uninitialized variables and unused functions


More Informations:<br />&quot;Project homepage&amp;quot;:http://cppcheck.sourceforge.net/
More Informations:
"Project homepage":http://cppcheck.sourceforge.net/


Qt-cppcheck integrates the external command line tool into QtCreator IDE.<br />Automatic and manual check of active project and individual project files.<br />Display found error in task pan (with marks in editor)
Qt-cppcheck integrates the external command line tool into QtCreator IDE.
Automatic and manual check of active project and individual project files.
Display found error in task pan (with marks in editor)


Supported Versions: QtCreator 3.2<br />Plattforms: currently only binaries for windows<br />&quot;Plugin homepage&amp;quot;:http://gres.biz/qtc-cppcheck-settings/<br />&quot;Plugin download&amp;quot;:http://sourceforge.net/projects/qtc-cppcheck/files/bin/
Supported Versions: QtCreator 3.2
Plattforms: currently only binaries for windows
"Plugin homepage":http://gres.biz/qtc-cppcheck-settings/
"Plugin download":http://sourceforge.net/projects/qtc-cppcheck/files/bin/


=== CppHelper ===
=== CppHelper ===


generates implementation-stubs<br />&quot;site&amp;quot;:http://gitorious.org/creator-plugins
generates implementation-stubs
"site":http://gitorious.org/creator-plugins


Status: discontinued, replaced by refactoring action in Qt Creator 2.1
Status: discontinued, replaced by refactoring action in Qt Creator 2.1
Line 155: Line 171:
=== Code Coverage ===
=== Code Coverage ===


&quot;site&amp;quot;:https://github.com/3Hren/QtCreatorCoveragePlugin
"site":https://github.com/3Hren/QtCreatorCoveragePlugin


=== Encapsulation ===
=== Encapsulation ===


&quot;site&amp;quot;:https://github.com/arturo182/Encapsulation
"site":https://github.com/arturo182/Encapsulation


=== QuML, an UML tool ===
=== QuML, an UML tool ===
Line 165: Line 181:
Started as a Master Thesis, currently abandonned
Started as a Master Thesis, currently abandonned


&quot;thesis&amp;quot;:http://vakken.groept.be/Vakken/MastersThesis0910/3230.pdf<br />&quot;appendices&amp;quot;:http://vakken.groept.be/Vakken/MastersThesis0910/3231.pdf<br />&quot;git repository&amp;quot;:http://gitorious.org/quml
"thesis":http://vakken.groept.be/Vakken/MastersThesis0910/3230.pdf
"appendices":http://vakken.groept.be/Vakken/MastersThesis0910/3231.pdf
"git repository":http://gitorious.org/quml


=== Profiling plugin ===
=== Profiling plugin ===


(oprofile / linux based)<br />&quot;site&amp;quot;:http://qt.gitorious.org/+symbio-profiler/qt-creator/qt-creator-profiler
(oprofile / linux based)
"site":http://qt.gitorious.org/+symbio-profiler/qt-creator/qt-creator-profiler


=== Artistic Style Plugin ===
=== Artistic Style Plugin ===


Full featured code pretty printer plugin using astyle<br />&quot;site&amp;quot;:http://astyleplugin.sourceforge.net
Full featured code pretty printer plugin using astyle
"site":http://astyleplugin.sourceforge.net


=== Static Code Quality Plugin ===
=== Static Code Quality Plugin ===
Line 181: Line 201:
Currently in a development state and not completely ready for use.
Currently in a development state and not completely ready for use.


&quot;site&amp;quot;:http://gitorious.org/qt-creator-static-code-quality-plugin/pages/Home
"site":http://gitorious.org/qt-creator-static-code-quality-plugin/pages/Home


== WebRunTime Plugin ==
== WebRunTime Plugin ==


Support for developing web based applications. Only a video of the plugin in action.<br />Status: unknown<br />&quot;video&amp;quot;:http://www.youtube.com/watch?v=bXBE0DZmonY
Support for developing web based applications. Only a video of the plugin in action.
Status: unknown
"video":http://www.youtube.com/watch?v=bXBE0DZmonY


== OpenPilot ==
== OpenPilot ==


A plugin using Qt Creator as a plugin manager only, embedding a map.<br />Status: unknown<br />&quot;site&amp;quot;:http://openpilot.org/GCS_Plugin_Development
A plugin using Qt Creator as a plugin manager only, embedding a map.
Status: unknown
"site":http://openpilot.org/GCS_Plugin_Development


== CruiseControl Monitor Plugin ==
== CruiseControl Monitor Plugin ==


A simple plugin for monitoring a CruiseControl continuous integration server<br />&quot;site&amp;quot;:http://code.google.com/p/qtcreator-cc-plugin
A simple plugin for monitoring a CruiseControl continuous integration server
"site":http://code.google.com/p/qtcreator-cc-plugin


Status: outdated, last commit 4th July 2010 for Qt Creator 2.0.0
Status: outdated, last commit 4th July 2010 for Qt Creator 2.0.0
Line 199: Line 224:
== Mylyn Plugin (abandoned) ==
== Mylyn Plugin (abandoned) ==


[[Mylyn|Mylyn]] is a application lifecycle management plugin, inspired by an eclipse plugin of the same name. Status: abandoned. Anyone wishing to pick up the project is encouraged to contact &quot;the former project owner on github &quot;:http://github.com/NoobSaibot
[[Mylyn|Mylyn]] is a application lifecycle management plugin, inspired by an eclipse plugin of the same name. Status: abandoned. Anyone wishing to pick up the project is encouraged to contact "the former project owner on github ":http://github.com/NoobSaibot


== Tufão (an asynchronous web framework) ==
== Tufão (an asynchronous web framework) ==


&quot;site&amp;quot;:https://github.com/vinipsmaker/tufao-qtcreatorplugin
"site":https://github.com/vinipsmaker/tufao-qtcreatorplugin


= External documentation =
= External documentation =


You can display external documentation in the Qt Creator Help mode. For more information, see the &quot;Qt Creator Manual&amp;quot;:http://doc.qt.io/qtcreator-2.8/creator-help.html#adding-external-documentation.
You can display external documentation in the Qt Creator Help mode. For more information, see the "Qt Creator Manual":http://doc.qt.io/qtcreator-2.8/creator-help.html#adding-external-documentation.

Revision as of 08:36, 25 February 2015

[toc align_right="yes" depth="3"]

Extend Qt Creator

Even though Qt Creator and Eclipse are different tools written in different programming languages, they still share the approach of adding all the functionality by plugins. So, from that point of view Qt Creator and Eclipse can be seen more as plugin frameworks instead of IDEs.

A plugin implements certain extension points but at the same time can also define new extension points. And that’s where Qt Creator and Eclipse differentiate.

In Eclipse, the extension points are usually defined as soon as the plugin is implemented meaning that those interfaces are often best guesses based on one example extension if at all. This may easily result in unnecessary extension in the first place or too inflexible or limited interfaces for more real world use cases.

Qt Creator takes another approach. In most cases plugins do not define extension points immediately, so it’s always treated as a leaf. For the first use case which requires an extension we still recommend to put the new functionality into the existing plugin implementation. Once a second or third use case comes up we start refactoring the original plugin and define the extension points. Obviously, this is not a 100% guarantee that those interfaces are perfect and cover all future needs, but it’s definitely better than basing the extension point on only one example or even pure guesses.

Contributing plugins

Please check Qt_Creator_Plug-in_Contribution_Guide when considering contributing a plugin to Qt Creator.

Qt Creator Plug-in Gallery

Version Control Systems

Subversion Plug-in Improved

Improved in terms of importing a project to a SVN repository.

"site":http://bavooo.be/qtcreator/

Bazaar plugin (merged)

A plugin adding support for the bazaar version control system.

"site":https://blueprints.launchpad.net/bzr/+spec/bazaar-plugin-for-qt-creator-ide

Status: merged into Qt Creator 2.2

Build Enviroment Support

autotools (merged)

Autotool support for Creator

"site":http://www.gitorious.org/qtcreator-autotools-plugin"

Status: merged into Qt Creator 2.4

Premake Project Manager Plugin

This plugin adds support of "Premake":http://industriousone.com/premake build configuration tool into Qt Creator.

"site":https://gitorious.org/qtcreator-premake-plugin

CodeBlocks Project Manager Plugin

This plugin can read Codeblocks .workspace project files. It reads the projects hierarchy and parses the individual .cbp project files to extract the source and header files and the build targets. Using commandline Codeblocks it allows you to (re)build your workspace. Also the build output is parsed(gcc and msvc supported).

"site":https://gitorious.org/codeblockprojectmanager

Google Native Client Toolchain Plugin

Adds the Chrome browser as a target. For use with the NaCl port of Qt.

"site":http://wiki.qt.io/Qt_for_Google_Native_Client

Meique build system plugin

"site":https://github.com/Meique/MeiqueQtCreatorPlugin

CMake Project Manager

Enhances the CMake integration

"site":https://github.com/seiyar81/cmakeprojectmanager

Boost.Build Project Manager

Provides basic integration with "Boost.Build":http://www.boost.org/boost-build2/ system to build C++ projects.

"site":https://github.com/mloskot/qt-creator-plugin-boostbuild

Status: usable, works with Qt Creator 3+, early development

Language support

RubyCreator

Add Ruby language support to QtCreator.

"site":http://hugopl.github.io/RubyCreator

Code documentation and status

Doxygen Plugin

Generates doxygen comments from source code and can launch doxywizard for editing doxygen config file

"site":http://dev.kofee.org/projects/qtcreator-doxygen/

Status: works with Qt Creator 2.5

Jenkins Status plugin

Shows the status of Jenkins on the left site. This Plugin is based on the CruiseControl-Plugin.

"site":https://github.com/MichaelSp/QtCreator-Jenkins-Plugin

Status: works with Qt Creator 2.5

New features for QtCreator

Class browser

"site":http://www.cppblog.com/visualfc/archive/2010/01/21/106142.html

Emacs keys

Emacs-style keybindings, alike "FakeVim"

"site":http://github.com/fberger/emacskeys

Status: last commit June 2011, works with Qt Creator 2.2.1

Quick Attach

"site":https://github.com/NickRF/qtcreator-quickattach

Editor Tabs

site":https://github.com/chenjiexin/editortabs

XmlTree Plugin

A plugin for reading and editing xml files as tree. "site":http://gitorious.org/qt-creator-xml-tree-plugin

Status: active developed

Development helping tools

CppCheck

Static analysis of C/C++ code developed as an external opensource tool.

Checks for:

  • Out of bounds checking
  • Check the code for each class
  • Checking exception safety
  • Memory leaks checking
  • Warn if obsolete functions are used
  • Check for invalid usage of STL
  • Check for uninitialized variables and unused functions

More Informations: "Project homepage":http://cppcheck.sourceforge.net/

Qt-cppcheck integrates the external command line tool into QtCreator IDE. Automatic and manual check of active project and individual project files. Display found error in task pan (with marks in editor)

Supported Versions: QtCreator 3.2 Plattforms: currently only binaries for windows "Plugin homepage":http://gres.biz/qtc-cppcheck-settings/ "Plugin download":http://sourceforge.net/projects/qtc-cppcheck/files/bin/

CppHelper

generates implementation-stubs "site":http://gitorious.org/creator-plugins

Status: discontinued, replaced by refactoring action in Qt Creator 2.1

Code Coverage

"site":https://github.com/3Hren/QtCreatorCoveragePlugin

Encapsulation

"site":https://github.com/arturo182/Encapsulation

QuML, an UML tool

Started as a Master Thesis, currently abandonned

"thesis":http://vakken.groept.be/Vakken/MastersThesis0910/3230.pdf "appendices":http://vakken.groept.be/Vakken/MastersThesis0910/3231.pdf "git repository":http://gitorious.org/quml

Profiling plugin

(oprofile / linux based) "site":http://qt.gitorious.org/+symbio-profiler/qt-creator/qt-creator-profiler

Artistic Style Plugin

Full featured code pretty printer plugin using astyle "site":http://astyleplugin.sourceforge.net

Static Code Quality Plugin

A plugin for performing static code quality tests. Based on Krazy and making use of Qt Script and the cpp parser that comes with Qt Creator.

Currently in a development state and not completely ready for use.

"site":http://gitorious.org/qt-creator-static-code-quality-plugin/pages/Home

WebRunTime Plugin

Support for developing web based applications. Only a video of the plugin in action. Status: unknown "video":http://www.youtube.com/watch?v=bXBE0DZmonY

OpenPilot

A plugin using Qt Creator as a plugin manager only, embedding a map. Status: unknown "site":http://openpilot.org/GCS_Plugin_Development

CruiseControl Monitor Plugin

A simple plugin for monitoring a CruiseControl continuous integration server "site":http://code.google.com/p/qtcreator-cc-plugin

Status: outdated, last commit 4th July 2010 for Qt Creator 2.0.0

Mylyn Plugin (abandoned)

Mylyn is a application lifecycle management plugin, inspired by an eclipse plugin of the same name. Status: abandoned. Anyone wishing to pick up the project is encouraged to contact "the former project owner on github ":http://github.com/NoobSaibot

Tufão (an asynchronous web framework)

"site":https://github.com/vinipsmaker/tufao-qtcreatorplugin

External documentation

You can display external documentation in the Qt Creator Help mode. For more information, see the "Qt Creator Manual":http://doc.qt.io/qtcreator-2.8/creator-help.html#adding-external-documentation.