Qt Creator Plug-in Gallery: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= | [[Category:Tools::QtCreator]]<br />[toc align_right="yes&quot; depth="3&quot;] | ||
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 | = 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. | 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. | ||
Line 9: | Line 11: | ||
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. | 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= | = Contributing plugins = | ||
Please check [[ | Please check [[Qt_Creator_Plug-in_Contribution_Guide]] when considering contributing a plugin to Qt Creator. | ||
=Qt Creator Plug-in Gallery= | = Qt Creator Plug-in Gallery = | ||
==Version Control Systems== | == Version Control Systems == | ||
===Subversion Plug-in Improved=== | === Subversion Plug-in Improved === | ||
Improved in terms of importing a project to a | Improved in terms of importing a project to a SVN repository. | ||
"site&quot;:http://bavooo.be/qtcreator/ | |||
===Bazaar plugin (merged)=== | === Bazaar plugin (merged) === | ||
A plugin adding support for the bazaar version control system. | A plugin adding support for the bazaar version control system. | ||
"site&quot;: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 | ||
==Build Enviroment Support== | == Build Enviroment Support == | ||
===autotools (merged)=== | === autotools (merged) === | ||
Autotool support for Creator | Autotool support for Creator | ||
"site&quot;:http://www.gitorious.org/qtcreator-autotools-plugin&quot; | |||
Status: merged into Qt Creator 2.4 | Status: merged into Qt Creator 2.4 | ||
===Premake Project Manager Plugin=== | === Premake Project Manager Plugin === | ||
This plugin adds support of | This plugin adds support of "Premake&quot;:http://industriousone.com/premake build configuration tool into Qt Creator. | ||
"site&quot;:https://gitorious.org/qtcreator-premake-plugin | |||
===CodeBlocks Project Manager 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). | 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&quot;:https://gitorious.org/codeblockprojectmanager | |||
===Google Native Client Toolchain Plugin=== | === Google Native Client Toolchain Plugin === | ||
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. | ||
"site&quot;:http://wiki.qt.io/Qt_for_Google_Native_Client | |||
===Meique build system plugin=== | === Meique build system plugin === | ||
"site&quot;:https://github.com/Meique/MeiqueQtCreatorPlugin | |||
===CMake Project Manager=== | === CMake Project Manager === | ||
Enhances the CMake integration | Enhances the CMake integration | ||
"site&quot;:https://github.com/seiyar81/cmakeprojectmanager | |||
===Boost.Build Project Manager=== | === Boost.Build Project Manager === | ||
Provides basic integration with | Provides basic integration with "Boost.Build&quot;:http://www.boost.org/boost-build2/ system to build C++ projects. | ||
"site&quot;: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 | ||
==Language support== | == Language support == | ||
===RubyCreator=== | === RubyCreator === | ||
Add Ruby language support to QtCreator. | Add Ruby language support to QtCreator. | ||
"site&quot;:http://hugopl.github.io/RubyCreator | |||
==Code documentation and status== | == Code documentation and status == | ||
===Doxygen Plugin=== | === Doxygen Plugin === | ||
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 | ||
"site&quot;:http://dev.kofee.org/projects/qtcreator-doxygen/ | |||
Status: works with Qt Creator 2.5 | Status: works with Qt Creator 2.5 | ||
===Jenkins Status plugin=== | === Jenkins Status plugin === | ||
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. | ||
"site&quot;:https://github.com/MichaelSp/QtCreator-Jenkins-Plugin | |||
Status: works with Qt Creator 2.5 | Status: works with Qt Creator 2.5 | ||
==New features for QtCreator== | == New features for QtCreator == | ||
===Class browser=== | === Class browser === | ||
"site&quot;:http://www.cppblog.com/visualfc/archive/2010/01/21/106142.html | |||
===Emacs keys=== | === Emacs keys === | ||
Emacs-style keybindings, alike | Emacs-style keybindings, alike "FakeVim&quot; | ||
"site&quot;: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 | ||
===Quick Attach=== | === Quick Attach === | ||
"site&quot;:https://github.com/NickRF/qtcreator-quickattach | |||
===Editor Tabs=== | === Editor Tabs === | ||
site&quot;:https://github.com/chenjiexin/editortabs | |||
===XmlTree Plugin=== | === XmlTree Plugin === | ||
A plugin for reading and editing xml files as tree.<br /> | A plugin for reading and editing xml files as tree.<br />"site&quot;:http://gitorious.org/qt-creator-xml-tree-plugin | ||
Status: active developed | Status: active developed | ||
==Development helping tools== | == Development helping tools == | ||
===CppCheck=== | === CppCheck === | ||
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: | 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 | ||
More Informations:<br />"Project homepage&quot;: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) | |||
Supported Versions: QtCreator 3.2<br />Plattforms: currently only binaries for windows<br />"Plugin homepage&quot;:http://gres.biz/qtc-cppcheck-settings/<br />"Plugin download&quot;:http://sourceforge.net/projects/qtc-cppcheck/files/bin/ | |||
=== CppHelper === | |||
generates implementation-stubs<br />"site&quot;:http://gitorious.org/creator-plugins | |||
generates implementation-stubs<br /> | |||
Status: discontinued, replaced by refactoring action in Qt Creator 2.1 | Status: discontinued, replaced by refactoring action in Qt Creator 2.1 | ||
===Code Coverage=== | === Code Coverage === | ||
"site&quot;:https://github.com/3Hren/QtCreatorCoveragePlugin | |||
===Encapsulation=== | === Encapsulation === | ||
"site&quot;:https://github.com/arturo182/Encapsulation | |||
===QuML, an | === QuML, an UML tool === | ||
Started as a Master Thesis, currently abandonned | Started as a Master Thesis, currently abandonned | ||
"thesis&quot;:http://vakken.groept.be/Vakken/MastersThesis0910/3230.pdf<br />"appendices&quot;:http://vakken.groept.be/Vakken/MastersThesis0910/3231.pdf<br />"git repository&quot;:http://gitorious.org/quml | |||
===Profiling plugin=== | === Profiling plugin === | ||
(oprofile / linux based)<br /> | (oprofile / linux based)<br />"site&quot;: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 /> | Full featured code pretty printer plugin using astyle<br />"site&quot;:http://astyleplugin.sourceforge.net | ||
===Static Code Quality Plugin=== | === 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. | 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. | ||
Line 187: | Line 181: | ||
Currently in a development state and not completely ready for use. | Currently in a development state and not completely ready for use. | ||
"site&quot;: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 /> | Support for developing web based applications. Only a video of the plugin in action.<br />Status: unknown<br />"video&quot;: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 /> | A plugin using Qt Creator as a plugin manager only, embedding a map.<br />Status: unknown<br />"site&quot;:http://openpilot.org/GCS_Plugin_Development | ||
==CruiseControl Monitor Plugin== | == CruiseControl Monitor Plugin == | ||
A simple plugin for monitoring a CruiseControl continuous integration server<br /> | A simple plugin for monitoring a CruiseControl continuous integration server<br />"site&quot;: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 | ||
==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 "the former project owner on github ":http://github.com/NoobSaibot | |||
== Tufão (an asynchronous web framework) == | |||
"site&quot;: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&quot;:http://doc.qt.io/qtcreator-2.8/creator-help.html#adding-external-documentation. | |||
Revision as of 14:12, 23 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.