Difference between revisions of "Code::Blocks Plugins"

From Code::Blocks
m (→‎Core Plugins: add a new clangd based CC)
 
(47 intermediate revisions by 11 users not shown)
Line 12: Line 12:
 
# There might be information on the WiKi concerning other plugins on this page and '''[[Announcement_for_plugins/patches|here]]'''.
 
# There might be information on the WiKi concerning other plugins on this page and '''[[Announcement_for_plugins/patches|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.
+
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:'''
 
'''If you are developing plugins:'''
Surely you can work with plugin as you like, but here are some suggestions:
 
* Announce them in the plugin development board in the forums - including the (initial) source code at [/index.php/board,14.0.html].
 
  
OR
+
* 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 (or use a file sharing platform) and post the link to the sources/binaries/svn access in the plugin development board in the forums at [/index.php/board,14.0.html].
+
* 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.
 
 
OR
 
 
 
* Setup a repository, probably at BerliOS or SourceForge, post the link to the sources/binaries/svn access in the plugin development board in the forums at [/index.php/board,14.0.html]. Notice: This is very convenient as attachments in our forum might be deleted from time to time. So it is not safe to post source code in the forums.
 
 
 
THEN
 
 
 
# Enter the plugins description on this page.
 
# Announce the plugin '''[[Announcement_for_plugins/patches|here]]''' using '''[[Template_for_plugin_announcement|this]]''' template.
 
  
 +
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 ==
  
 
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.
 
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.
 +
 +
'''[[Abbreviations plugin|Abbreviations]]'''
 +
:Code::Blocks AutoComplete plugin.
  
 
'''[[Autosave plugin|Autosave]]'''
 
'''[[Autosave plugin|Autosave]]'''
Line 48: 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 60: Line 59:
  
 
:Adds extra file extension handlers.
 
:Adds extra file extension handlers.
 +
 +
'''[[Header Guard plugin|Header Guard]]''' ''(Disabled by default.)''
 +
 +
:Create header guards (if needed) on file save.
 +
 +
'''[[LogHacker plugin|LogHacker]]''' ''(Disabled by default.)''
 +
 +
:Manipulate loggers.
 +
 +
'''[[ModPoller plugin|ModPoller]]''' ''(Disabled by default.)''
 +
 +
:Frequently check for external modification.
  
 
'''[[Open Files List plugin|Open Files List]]'''
 
'''[[Open Files List plugin|Open Files List]]'''
Line 73: Line 84:
 
:Provides scripted wizard functionality.
 
:Provides scripted wizard functionality.
  
'''[[Source Code Formatter plugin|Source Code Formatter]]'''
+
'''[[Source Code Formatter plugin|Source Code Formatter]]''' (AStyle)
  
 
:Formats source code files with specific style.
 
:Formats source code files with specific style.
 +
 +
'''[[Tidycmt plugin|Tidycmt]]''' ''(Disabled by default.)''
 +
 +
:Formats comments on file save.
  
 
'''[[To-Do List plugin|To-Do List]]'''
 
'''[[To-Do List plugin|To-Do List]]'''
Line 89: Line 104:
 
The user-''contrib''uted plugins are not installed by default and offer extended functionality for Code::Blocks. The contrib plugins are maintained / developed by third-party developers.
 
The user-''contrib''uted plugins are not installed by default and offer extended functionality for Code::Blocks. The contrib plugins are maintained / developed by third-party developers.
  
'''[[Aligner]]'''
+
'''[[Aligner plugin|Aligner]]'''
  
 
:Code alignment.
 
:Code alignment.
  
'''[[AutoVersioning|Auto Versioning]]'''
+
'''[[AutoVersioning plugin|Auto Versioning]]'''
  
 
:Helps you keep track of your project version and status.
 
:Helps you keep track of your project version and status.
  
'''[[Browse Tracker plugins|Browse Tracker]]'''
+
'''[[Browse Tracker plugin|Browse Tracker]]'''
  
 
:Browse to previous source positions.
 
:Browse to previous source positions.
Line 105: Line 120:
 
:Games in a integrated development environment? You bet.
 
:Games in a integrated development environment? You bet.
  
'''[[CCCC]]'''
+
'''[[CCCC plugin|CCCC]]'''
  
 
:Integrates CCCC tool for measurement of source code metrics (http://sourceforge.net/projects/cccc/) into Code::Blocks.
 
:Integrates CCCC tool for measurement of source code metrics (http://sourceforge.net/projects/cccc/) into Code::Blocks.
Line 125: Line 140:
 
:Copies literal strings from the current editor to clipboard.
 
:Copies literal strings from the current editor to clipboard.
  
'''[[Cscope]]'''
+
'''[[CppCheck plugin|CppCheck]]'''
 +
 
 +
:Integrates the static code analyzer Cppcheck into Code::Blocks.
 +
 
 +
'''[[Cscope plugin|Cscope]]'''
  
 
:Integrates Cscope (http://cscope.sourceforge.net/) into Code::Blocks.
 
:Integrates Cscope (http://cscope.sourceforge.net/) into Code::Blocks.
Line 133: Line 152:
 
:Installs and updates DevC++ DevPaks.
 
:Installs and updates DevC++ DevPaks.
  
'''[[DoxyBlocks|DoxyBlocks]]'''
+
'''[[DoxyBlocks plugin|DoxyBlocks]]'''
  
 
:This plugin provides doxygen integration for Code::Blocks.
 
:This plugin provides doxygen integration for Code::Blocks.
Line 141: Line 160:
 
:Enables dragging and scrolling with mouse.
 
:Enables dragging and scrolling with mouse.
  
'''[[Editor Tweaks]]'''
+
'''[[EditorConfig plugin|EditorConfig]]'''
 +
 
 +
:This plugin implements the http://EditorConfig.org/ file format.
 +
 
 +
'''[[Editor Tweaks plugin|Editor Tweaks]]'''
  
 
:This plugin provides some additional tweaks for Code::Blocks editor.
 
:This plugin provides some additional tweaks for Code::Blocks editor.
Line 149: Line 172:
 
:Sets environment variables within the focus of Code::Blocks.
 
:Sets environment variables within the focus of Code::Blocks.
  
'''[[Help plugin]]'''
+
'''[[File Manager plugin|File Manager]]'''
 +
 
 +
:This plugin provides a simple file manager as a tab in the Code::Blocks management pane.
 +
 
 +
'''[[Header Fixup plugin|Header Fixup]]'''
 +
 
 +
:Adds missing includes/forward declarations to C++ source files.
 +
 
 +
'''[[Help plugin|Help]]'''
  
 
:Integrates third-party help files to the interface.
 
:Integrates third-party help files to the interface.
  
'''[[HexEditor plugin]]'''
+
'''[[HexEditor plugin|HexEditor]]'''
  
 
:Opens files in a Code::Blocks integrated HexEditor.
 
:Opens files in a Code::Blocks integrated HexEditor.
 +
 +
'''[[Incremental Search plugin|Incremental Search]]'''
 +
 +
:Searches and highlights a marked text incrementally within the open editor.
  
 
'''[[Keyboard Shortcuts plugin|Keyboard Shortcuts]]'''
 
'''[[Keyboard Shortcuts plugin|Keyboard Shortcuts]]'''
Line 165: Line 200:
 
:Queries the Koders webpage for keywords.
 
:Queries the Koders webpage for keywords.
  
'''[[KeyMacs plugin]]'''
+
'''[[Library finder plugin|Library finder]]'''
  
:KeyMacs (or Keyboard Macros) plugin enables Recording, Playback, and editing of keystroke macros.
+
:Tool for automatically searching for installed libraries, and adding them to the project.
  
'''[[NassiShneiderman]]'''
+
'''[[NassiShneiderman plugin|NassiShneiderman]]'''
  
 
:Allows the creation of Nassi Shneiderman diagrams within Code::Blocks.
 
:Allows the creation of Nassi Shneiderman diagrams within Code::Blocks.
Line 176: Line 211:
  
 
:Regular expressions testbed.
 
:Regular expressions testbed.
 +
 +
'''[[ReopenEditor plugin|ReopenEditor]]'''
 +
 +
:Reopen a closed editor via hotkey, menu-item, or from a list.
 +
 +
'''[[Rndgen plugin|Rndgen]]'''
 +
 +
:Generates random values (numbers or strings) when saving a file.
 +
 +
'''[[SmartIndent plugin|SmartIndent]]'''
 +
 +
:A suite of plugins that supply smart indenting for various languages.
  
 
'''[[Source Exporter plugin|Source Exporter]]'''
 
'''[[Source Exporter plugin|Source Exporter]]'''
  
 
:Exports source code files to other formats such as HTML and PDF.
 
:Exports source code files to other formats such as HTML and PDF.
 +
 +
'''[[SpellChecker plugin|SpellChecker]]'''
 +
 +
:A plugin to check the spelling of strings and comments.
  
 
'''[[Symbol Table plugin|Symbol Table]]'''
 
'''[[Symbol Table plugin|Symbol Table]]'''
Line 185: Line 236:
 
:A simple graphical interface to the GNU symbol table displayer (nm).
 
:A simple graphical interface to the GNU symbol table displayer (nm).
  
'''[[ThreadSearch]]'''
+
'''[[ThreadSearch plugin|ThreadSearch]]'''
  
 
:Multi-threaded 'Search in files' with preview window.
 
:Multi-threaded 'Search in files' with preview window.
 +
 +
'''[[Tools+ plugin|Tools+]]'''
 +
 +
:Creation and management of custom tools.
  
 
'''[[Valgrind plugin|Valgrind]]'''
 
'''[[Valgrind plugin|Valgrind]]'''
  
:Valgrind analysis tools integration.
+
:Valgrind analysis tools integration. (Valgrind does not run on Windows)
  
 
'''[[wxSmith plugin|wxSmith]]'''
 
'''[[wxSmith plugin|wxSmith]]'''
Line 200: Line 255:
  
 
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.
 
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.
 +
 +
'''[[DisplayEvents plugin|DisplayEvents]]'''
 +
 +
:Display events that are registered with <tt>RegisterEventSink</tt>, in the Code::Blocks Debug log.
  
 
'''[[Fortran Project plugin|Fortran Project]]'''
 
'''[[Fortran Project plugin|Fortran Project]]'''
Line 205: Line 264:
 
:This plugin provides symbol browser and code-completion for Fortran files.
 
:This plugin provides symbol browser and code-completion for Fortran files.
  
'''[[Rss::Blocks]]'''
+
'''[[IPDefend Toolkit plugin|IPDefend Toolkit]]'''
 +
 
 +
:This plugin enables creation of a licensed application in an easy way. Available at [http://www.comsytec.com/ipdefend.php]
 +
 
 +
'''[[KeyMacs plugin|KeyMacs]]'''
 +
 
 +
:KeyMacs (or Keyboard Macros) plugin enables Recording, Playback, and editing of keystroke macros.
 +
 
 +
'''[[OccurrenceHighlighter plugin|OccurrenceHighlighter]]'''
 +
 
 +
:This plugin highlights all occurrences of keywords on a list.
 +
 
 +
'''[[Python plugins|Python]]'''
 +
 
 +
: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.
 +
 
 +
'''[[Rss::Blocks plugin|Rss::Blocks]]'''
  
 
:This plugin is an rss feeds reader. Available at [http://sourceforge.net/projects/rssblocks/ sourceforge/rssblocks]
 
:This plugin is an rss feeds reader. Available at [http://sourceforge.net/projects/rssblocks/ sourceforge/rssblocks]
  
'''[[TRACE32 Debugger]]'''
+
'''[[TRACE32 Debugger plugin|TRACE32 Debugger]]'''
  
 
: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
 
: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
  
If you have questions -> ask in the forums at [/index.php/board,14.0.html].
+
'''[[EPS Debugger for STM32 plugin|EPS Debugger for STM32]]'''
 +
 
 +
:Developing embedded applications for STM32 with ST Link 2. Available at [http://www.comsytec.eu/epsdebugger.php]
 +
 
 +
'''[[Vim emulator plugin|Vim Plugin]]'''
 +
 
 +
:Emulate the Vim's shortkeys in Code::Blocks editor. Available at [https://github.com/zmj64351508/cbvike cbvike on Github]
 +
 
 +
If you have questions -> ask in the [/index.php/board,14.0.html forums].
 +
 
 +
'''[[OpenFilesListPlus Plugin]]'''
 +
 
 +
:Enhanced version of the OpenFilesList plugin. Available at [https://github.com/earlgrey-bis/cb-OpenFilesListPlus on Github]
  
 +
'''[[SourceTrail Plugin]]'''
  
'''[[SpellChecker]]'''
+
:Interface to [https://www.sourcetrail.com/ on SourceTrail]. Available at [https://github.com/martim01/sourcetrail on Github]
  
:A plugin to check the spelling of strings and comments.
+
If you have questions -> ask in the [/index.php/topic,23588.0.html forums].
 +
 
 +
'''[[cbSystemView]]'''
 +
 
 +
:A plugin to use SVD files for embedded development. Available at [https://github.com/bluehazzard/cbSystemView on Github]
 +
 
 +
'''[[cbMemoryView]]'''
 +
 
 +
:A plugin to view memory locations with multiple tabs. Available at [https://github.com/bluehazzard/cbMemoryView on Github]
 +
 
 +
'''[[cbBuildTools ]]'''
 +
 
 +
:A little plugin that displays the targets in a tree, for easy building. Available at [https://github.com/bluehazzard/cbBuildTools on Github]
 +
 
 +
==See also==
 +
* [[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:

  1. Core plugins - developed and maintained by the core C::B team.
  2. Contrib plugins - developed and maintained by the community and proven to be very valuable. So they are integrated into the C::B SVN.
  3. 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:

  1. Look in the official release. Notice that the installer / package manager might require you to enable some of the plugins specifically. So READ carefully.
  2. Search the forums for announcements, especially the forums at [/index.php/board,14.0.html].
  3. 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.

Abbreviations

Code::Blocks AutoComplete plugin.

Autosave

Saves project files between intervals.

Class Wizard

Provides wizard for creating new classes.

Code Completion

Provides code completion functionality and class browser.

CB Clangd Client

Provides code completion functionality and class browser by Clangd through LSP.

Compiler

Provides support for various compilers in one interface.

Debugger

Provides support for various debuggers in one interface.

File Extensions Handler

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.

Open Files List

Manages a list of all opened files (editors).

Projects Importer

Imports projects from other IDE's, e.g. MS Visual Studio and DevC++.

Scripted Wizard

Provides scripted wizard functionality.

Source Code Formatter (AStyle)

Formats source code files with specific style.

Tidycmt (Disabled by default.)

Formats comments on file save.

To-Do List

Adds to-do items to source code.

WinXP Look'n'Feel

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.

Aligner

Code alignment.

Auto Versioning

Helps you keep track of your project version and status.

Browse Tracker

Browse to previous source positions.

C::B Games

Games in a integrated development environment? You bet.

CCCC

Integrates CCCC tool for measurement of source code metrics (http://sourceforge.net/projects/cccc/) into Code::Blocks.

Code Profiler

Provides graphical interface to GNU GProf profiler.

Code Snippets

Manages small pieces of code (i.e. snippets).

Code Statistics

Shows various statistics from source code files.

Copy Strings to Clipboard

Copies literal strings from the current editor to clipboard.

CppCheck

Integrates the static code analyzer Cppcheck into Code::Blocks.

Cscope

Integrates Cscope (http://cscope.sourceforge.net/) into Code::Blocks.

DevPak Installer

Installs and updates DevC++ DevPaks.

DoxyBlocks

This plugin provides doxygen integration for Code::Blocks.

DragScroll

Enables dragging and scrolling with mouse.

EditorConfig

This plugin implements the http://EditorConfig.org/ file format.

Editor Tweaks

This plugin provides some additional tweaks for Code::Blocks editor.

Environment Variables

Sets environment variables within the focus of Code::Blocks.

File Manager

This plugin provides a simple file manager as a tab in the Code::Blocks management pane.

Header Fixup

Adds missing includes/forward declarations to C++ source files.

Help

Integrates third-party help files to the interface.

HexEditor

Opens files in a Code::Blocks integrated HexEditor.

Incremental Search

Searches and highlights a marked text incrementally within the open editor.

Keyboard Shortcuts

Manages menu shortcuts.

Koders

Queries the Koders webpage for keywords.

Library finder

Tool for automatically searching for installed libraries, and adding them to the project.

NassiShneiderman

Allows the creation of Nassi Shneiderman diagrams within Code::Blocks.

RegEx Testbed

Regular expressions testbed.

ReopenEditor

Reopen a closed editor via hotkey, menu-item, or from a list.

Rndgen

Generates random values (numbers or strings) when saving a file.

SmartIndent

A suite of plugins that supply smart indenting for various languages.

Source Exporter

Exports source code files to other formats such as HTML and PDF.

SpellChecker

A plugin to check the spelling of strings and comments.

Symbol Table

A simple graphical interface to the GNU symbol table displayer (nm).

ThreadSearch

Multi-threaded 'Search in files' with preview window.

Tools+

Creation and management of custom tools.

Valgrind

Valgrind analysis tools integration. (Valgrind does not run on Windows)

wxSmith

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.

DisplayEvents

Display events that are registered with RegisterEventSink, in the Code::Blocks Debug log.

Fortran Project

This plugin provides symbol browser and code-completion for Fortran files.

IPDefend Toolkit

This plugin enables creation of a licensed application in an easy way. Available at [1]

KeyMacs

KeyMacs (or Keyboard Macros) plugin enables Recording, Playback, and editing of keystroke macros.

OccurrenceHighlighter

This plugin highlights all occurrences of keywords on a list.

Python

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.

Rss::Blocks

This plugin is an rss feeds reader. Available at sourceforge/rssblocks

TRACE32 Debugger

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

EPS Debugger for STM32

Developing embedded applications for STM32 with ST Link 2. Available at [2]

Vim Plugin

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].

OpenFilesListPlus Plugin

Enhanced version of the OpenFilesList plugin. Available at on Github

SourceTrail Plugin

Interface to on SourceTrail. Available at on Github

If you have questions -> ask in the [/index.php/topic,23588.0.html forums].

cbSystemView

A plugin to use SVD files for embedded development. Available at on Github

cbMemoryView

A plugin to view memory locations with multiple tabs. Available at on Github

cbBuildTools

A little plugin that displays the targets in a tree, for easy building. Available at on Github

See also