Difference between revisions of "Code::Blocks Plugins"
m (→Format of .cbplugin files: Explain file name can include version information) |
m (→Core Plugins: add a new clangd based CC) |
||
(4 intermediate revisions by one other user not shown) | |||
Line 16: | Line 16: | ||
'''If you are developing plugins:''' | '''If you are developing plugins:''' | ||
− | |||
− | |||
− | + | * Please read [https://wiki.codeblocks.org/index.php/Managing_Plug-in_Resources this page] for creating and producing a plugin. | |
− | + | * You will need to store the source code for the plugin for other developers to have access to it. You can do this on SourceForge or Github or your favorite source code repository web site. | |
− | * | + | * Setup your own webpage on a file sharing platform that can be used for documenting and distribution of the plugin. This will allow users to download the plugin to install on their Code::Blocks installation. |
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Once you have a working and production ready plugin for other developers to use then you can do the following: | ||
+ | * Read [https://wiki.codeblocks.org/index.php/Announcement_for_plugins/patches this page] for information on how to announce you have a plugin on the Code::Blocks forum. | ||
+ | * In your announcement in the [https://forums.codeblocks.org/index.php/board,14.0.html forum] please also ask for your plugin to be added to the Code::Blocks wiki [https://wiki.codeblocks.org/index.php?title=Code::Blocks_Plugins plugin page] with the details you would like to see on the page. | ||
== Core Plugins == | == Core Plugins == | ||
Line 51: | Line 43: | ||
:Provides code completion functionality and class browser. | :Provides code completion functionality and class browser. | ||
+ | |||
+ | '''[[CB Clangd Client|CB Clangd Client]]''' | ||
+ | |||
+ | :Provides code completion functionality and class browser by Clangd through LSP. | ||
'''[[Compiler plugin|Compiler]]''' | '''[[Compiler plugin|Compiler]]''' | ||
Line 323: | Line 319: | ||
:A little plugin that displays the targets in a tree, for easy building. Available at [https://github.com/bluehazzard/cbBuildTools on Github] | :A little plugin that displays the targets in a tree, for easy building. Available at [https://github.com/bluehazzard/cbBuildTools on Github] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==See also== | ==See also== | ||
* [[Announcement for plugins/patches|Announcement for plugins/patches]] These are not stable plugins in many cases | * [[Announcement for plugins/patches|Announcement for plugins/patches]] These are not stable plugins in many cases |
Latest revision as of 07:24, 22 January 2022
General
Code::Blocks' features can be extend by using plugins, most of them listed on this page. There are generally three types of plugins:
- Core plugins - developed and maintained by the core C::B team.
- Contrib plugins - developed and maintained by the community and proven to be very valuable. So they are integrated into the C::B SVN.
- 3rd party plugins - developed and maintained by the community but not (yet?) in the C::B repository. Theses plugins often have their own repository or are being posted (including the source code) in the forums.
If you are looking for plugins:
- Look in the official release. Notice that the installer / package manager might require you to enable some of the plugins specifically. So READ carefully.
- Search the forums for announcements, especially the forums at [/index.php/board,14.0.html].
- There might be information on the WiKi concerning other plugins on this page and here.
For Windows users, the default behavior of the current installer (10.05) does not install contrib plugins. You need to manually check the "contrib plugin" checkbox when asked for selected components to install. There is no way to install them manually afterwards.
If you are developing plugins:
- Please read this page for creating and producing a plugin.
- You will need to store the source code for the plugin for other developers to have access to it. You can do this on SourceForge or Github or your favorite source code repository web site.
- Setup your own webpage on a file sharing platform that can be used for documenting and distribution of the plugin. This will allow users to download the plugin to install on their Code::Blocks installation.
Once you have a working and production ready plugin for other developers to use then you can do the following:
- Read this page for information on how to announce you have a plugin on the Code::Blocks forum.
- In your announcement in the forum please also ask for your plugin to be added to the Code::Blocks wiki plugin page with the details you would like to see on the page.
Core Plugins
The core plugins are installed by default and offer the basic functions of Code::Blocks. The core plugins are maintained / developed by the official development team.
- Code::Blocks AutoComplete plugin.
- Saves project files between intervals.
- Provides wizard for creating new classes.
- Provides code completion functionality and class browser.
- Provides code completion functionality and class browser by Clangd through LSP.
- Provides support for various compilers in one interface.
- Provides support for various debuggers in one interface.
- Adds extra file extension handlers.
Header Guard (Disabled by default.)
- Create header guards (if needed) on file save.
LogHacker (Disabled by default.)
- Manipulate loggers.
ModPoller (Disabled by default.)
- Frequently check for external modification.
- Manages a list of all opened files (editors).
- Imports projects from other IDE's, e.g. MS Visual Studio and DevC++.
- Provides scripted wizard functionality.
Source Code Formatter (AStyle)
- Formats source code files with specific style.
Tidycmt (Disabled by default.)
- Formats comments on file save.
- Adds to-do items to source code.
- Creates manifest file which enables the version 6.0 of the Common Controls on Windows XP.
Contrib Plugins
The user-contributed plugins are not installed by default and offer extended functionality for Code::Blocks. The contrib plugins are maintained / developed by third-party developers.
- Code alignment.
- Helps you keep track of your project version and status.
- Browse to previous source positions.
- Games in a integrated development environment? You bet.
- Integrates CCCC tool for measurement of source code metrics (http://sourceforge.net/projects/cccc/) into Code::Blocks.
- Provides graphical interface to GNU GProf profiler.
- Manages small pieces of code (i.e. snippets).
- Shows various statistics from source code files.
- Copies literal strings from the current editor to clipboard.
- Integrates the static code analyzer Cppcheck into Code::Blocks.
- Integrates Cscope (http://cscope.sourceforge.net/) into Code::Blocks.
- Installs and updates DevC++ DevPaks.
- This plugin provides doxygen integration for Code::Blocks.
- Enables dragging and scrolling with mouse.
- This plugin implements the http://EditorConfig.org/ file format.
- This plugin provides some additional tweaks for Code::Blocks editor.
- Sets environment variables within the focus of Code::Blocks.
- This plugin provides a simple file manager as a tab in the Code::Blocks management pane.
- Adds missing includes/forward declarations to C++ source files.
- Integrates third-party help files to the interface.
- Opens files in a Code::Blocks integrated HexEditor.
- Searches and highlights a marked text incrementally within the open editor.
- Manages menu shortcuts.
- Queries the Koders webpage for keywords.
- Tool for automatically searching for installed libraries, and adding them to the project.
- Allows the creation of Nassi Shneiderman diagrams within Code::Blocks.
- Regular expressions testbed.
- Reopen a closed editor via hotkey, menu-item, or from a list.
- Generates random values (numbers or strings) when saving a file.
- A suite of plugins that supply smart indenting for various languages.
- Exports source code files to other formats such as HTML and PDF.
- A plugin to check the spelling of strings and comments.
- A simple graphical interface to the GNU symbol table displayer (nm).
- Multi-threaded 'Search in files' with preview window.
- Creation and management of custom tools.
- Valgrind analysis tools integration. (Valgrind does not run on Windows)
- RAD tool for creating wxWidgets dialogs.
3rd Party Plugins
3rd party plugins - developed and maintained by the community but not (yet?) in the C::B repository. The contrib plugins are maintained / developed by third-party developers.
- Display events that are registered with RegisterEventSink, in the Code::Blocks Debug log.
- This plugin provides symbol browser and code-completion for Fortran files.
- This plugin enables creation of a licensed application in an easy way. Available at [1]
- KeyMacs (or Keyboard Macros) plugin enables Recording, Playback, and editing of keystroke macros.
- This plugin highlights all occurrences of keywords on a list.
- A set of plugins that provide a user interface for debugging python programs, completion hints for python code, and a python interpreter in a dockable window.
- This plugin is an rss feeds reader. Available at sourceforge/rssblocks
- Extends the Debugger plugin of Code::Blocks to work with the TRACE32 Debuggers. TRACE32 documentation "int_codeblock.pdf" and debuggert32.cbplugin are located on the enclosed SW CD on purchase of TRACE32
- Developing embedded applications for STM32 with ST Link 2. Available at [2]
- Emulate the Vim's shortkeys in Code::Blocks editor. Available at cbvike on Github
If you have questions -> ask in the [/index.php/board,14.0.html forums].
- Enhanced version of the OpenFilesList plugin. Available at on Github
- Interface to on SourceTrail. Available at on Github
If you have questions -> ask in the [/index.php/topic,23588.0.html forums].
- A plugin to use SVD files for embedded development. Available at on Github
- A plugin to view memory locations with multiple tabs. Available at on Github
- A little plugin that displays the targets in a tree, for easy building. Available at on Github
See also
- Announcement for plugins/patches These are not stable plugins in many cases