<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.codeblocks.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mariocup</id>
	<title>Code::Blocks - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.codeblocks.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mariocup"/>
	<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php/Special:Contributions/Mariocup"/>
	<updated>2026-05-19T08:54:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Code::Blocks_SDK_events&amp;diff=6412</id>
		<title>Code::Blocks SDK events</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Code::Blocks_SDK_events&amp;diff=6412"/>
		<updated>2010-08-22T16:05:25Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Events that must be registered with RegisterEventSink */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
During a Code::Blocks session, many things are happening: projects/files loading, closing, activating, saving, etc. These are interesting things that happen and various parts of Code::Blocks and its plugins are interested in them.&lt;br /&gt;
The Code::Blocks SDK provides functions that allow a part of the code to be &amp;quot;subscribed&amp;quot; to these events (i.e. be notified when they happen). This is what we 'll look at in this article.&lt;br /&gt;
&lt;br /&gt;
''Note: since mid-November 2007, loggers registration is handled with events too.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Available events ===&lt;br /&gt;
There are many event constants defined for the interesting events that happens inside Code::Blocks. These constants are defined in &amp;lt;tt&amp;gt;include/sdk_events.h&amp;lt;/tt&amp;gt; and listed at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
Also note that there 4 different event categories:&lt;br /&gt;
* Logging system related (CodeBlocksLogEvent)&lt;br /&gt;
* View layout related (CodeBlocksLayoutEvent)&lt;br /&gt;
* Docking system related (CodeBlocksDockEvent)&lt;br /&gt;
* and everything else (CodeBlocksEvent)&lt;br /&gt;
&lt;br /&gt;
=== Subscribing to events ===&lt;br /&gt;
Up until July 6th (2007), Code::Blocks events were handled like other wxWidgets events: by declaring an event table in your class that should handle them and adding relevant event table entries.&lt;br /&gt;
&lt;br /&gt;
But the event system changed radically on July 6th (2007), in order to battle some shortcomings of the wxWidgets event system (at least for our usage). While designing the new system, great attention has been paid so that plugin writers have to do minimum changes to convert their code.&lt;br /&gt;
&lt;br /&gt;
The class that handles all event registrations is the central class in Code::Blocks which you use if you want to do anything with the Code::Blocks SDK: &amp;lt;tt&amp;gt;Manager&amp;lt;/tt&amp;gt;. Let's see by example how would a class (e.g. &amp;lt;tt&amp;gt;SomePlugin&amp;lt;/tt&amp;gt;) subscribe for the cbEVT_EDITOR_SAVE event (fired when an editor's contents are saved):&lt;br /&gt;
&lt;br /&gt;
 // assuming an existing member function:&lt;br /&gt;
 // void SomePlugin::OnEditorSaved(CodeBlocksEvent&amp;amp; event);&lt;br /&gt;
 &lt;br /&gt;
 Manager::Get()-&amp;gt;RegisterEventSink(cbEVT_EDITOR_SAVE, new cbEventFunctor&amp;lt;SomePlugin, CodeBlocksEvent&amp;gt;(this, &amp;amp;SomePlugin::OnEditorSaved));&lt;br /&gt;
&lt;br /&gt;
Seems difficult? It isn't, if you realize what the second argument to &amp;lt;tt&amp;gt;Manager::RegisterEventSink&amp;lt;/tt&amp;gt; does.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;cbEventFunctor&amp;lt;/tt&amp;gt; is a class that encapsulates a this-pointer call. It is like a C function pointer except that it works with class instances (i.e. a member-function pointer).&lt;br /&gt;
For obvious reasons it is a template class, taking two template arguments: the first is the class' name and the second is the type of the event the member function handles.&lt;br /&gt;
&lt;br /&gt;
The constructor of &amp;lt;tt&amp;gt;cbEventFunctor&amp;lt;/tt&amp;gt; takes two arguments: first is the class instance (we use the &amp;lt;tt&amp;gt;this&amp;lt;/tt&amp;gt; pointer) and the second is the address of the member function.&lt;br /&gt;
&lt;br /&gt;
And that's it. After using the above code, the defined function will be called-back on each editor saving :).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Important note:''' For various reasons, cbEVT_PIPEDPROCESS* and cbEVT_THREADEDTASK* events should still be bound using the old way (i.e. by adding event table entries). If this is changed in the future, this article will be updated accordingly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Unsubscribing from events ===&lt;br /&gt;
Usually there is no need to unsubscribe from event notifications. A plugin, for example, is automatically removed from all event notifications when it is detached (deactivated, unloaded, uninstalled).&lt;br /&gt;
&lt;br /&gt;
But if you really think you need to unsubscribe from events, there is a function to do that: &amp;lt;tt&amp;gt;Manager::Get()-&amp;gt;RemoveAllEventSinksFor(void* owner)&amp;lt;/tt&amp;gt;. As the sole argument, pass the instance that you registered the events in the first place.&lt;br /&gt;
&lt;br /&gt;
Notice that this function will remove ''all event notifications'' for the specified instance. There is no way to remove event notifications selectively. It's an all-or-nothing deal...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== When to register/unregister for event notifications? ===&lt;br /&gt;
In plugins, event notifications should be registered in &amp;lt;tt&amp;gt;OnAttach()&amp;lt;/tt&amp;gt;. As mentioned above, there is no need to unregister anything in &amp;lt;tt&amp;gt;OnDetach()&amp;lt;/tt&amp;gt; because it is automatically done by Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
For code other than plugins, register whenever you think is better (depends on the actual code).&lt;br /&gt;
&lt;br /&gt;
Also notice that Code::Blocks removes all registrations on shut down, so don't even think that we have memory leaks in that part ;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Any examples? ===&lt;br /&gt;
If the example provided above is not enough, browse through the sources of the core/contrib Code::Blocks plugins. A few of them register for events: just search the code for &amp;lt;tt&amp;gt;RegisterEventSink&amp;lt;/tt&amp;gt;.&lt;br /&gt;
But it really is nothing difficult: just remove the event handlers from the class's event table and register with this new way.&lt;br /&gt;
&lt;br /&gt;
=== List of Available Code::Blocks Events ===&lt;br /&gt;
&lt;br /&gt;
==== Events that must be registered with RegisterEventSink ====&lt;br /&gt;
''app events''&lt;br /&gt;
* cbEVT_APP_STARTUP_DONE&lt;br /&gt;
* cbEVT_APP_START_SHUTDOWN&lt;br /&gt;
* &amp;lt;strike&amp;gt;cbEVT_APP_UPDATE_TITLE&amp;lt;/strike&amp;gt; (removed)&lt;br /&gt;
&lt;br /&gt;
''plugin events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_PLUGIN_ATTACHED&lt;br /&gt;
* cbEVT_PLUGIN_RELEASED&lt;br /&gt;
* cbEVT_PLUGIN_INSTALLED&lt;br /&gt;
* cbEVT_PLUGIN_UNINSTALLED&lt;br /&gt;
&lt;br /&gt;
''editor events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_EDITOR_CLOSE&lt;br /&gt;
* cbEVT_EDITOR_OPEN&lt;br /&gt;
* cbEVT_EDITOR_ACTIVATED&lt;br /&gt;
* cbEVT_EDITOR_DEACTIVATED&lt;br /&gt;
* cbEVT_EDITOR_SAVE&lt;br /&gt;
* cbEVT_EDITOR_MODIFIED&lt;br /&gt;
* cbEVT_EDITOR_TOOLTIP&lt;br /&gt;
* cbEVT_EDITOR_TOOLTIP_CANCEL&lt;br /&gt;
* cbEVT_EDITOR_BREAKPOINT_ADD&lt;br /&gt;
* cbEVT_EDITOR_BREAKPOINT_EDIT&lt;br /&gt;
* cbEVT_EDITOR_BREAKPOINT_DELETE&lt;br /&gt;
* cbEVT_EDITOR_UPDATE_UI&lt;br /&gt;
* cbEVT_EDITOR_SWITCHED&lt;br /&gt;
&lt;br /&gt;
''project events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_PROJECT_CLOSE&lt;br /&gt;
* cbEVT_PROJECT_OPEN&lt;br /&gt;
* cbEVT_PROJECT_SAVE&lt;br /&gt;
* cbEVT_PROJECT_ACTIVATE&lt;br /&gt;
* cbEVT_PROJECT_BEGIN_ADD_FILES&lt;br /&gt;
* cbEVT_PROJECT_END_ADD_FILES&lt;br /&gt;
* cbEVT_PROJECT_BEGIN_REMOVE_FILES&lt;br /&gt;
* cbEVT_PROJECT_END_REMOVE_FILES&lt;br /&gt;
* cbEVT_PROJECT_FILE_ADDED&lt;br /&gt;
* cbEVT_PROJECT_FILE_REMOVED&lt;br /&gt;
* cbEVT_PROJECT_POPUP_MENU&lt;br /&gt;
* cbEVT_PROJECT_TARGETS_MODIFIED&lt;br /&gt;
* cbEVT_PROJECT_RENAMED&lt;br /&gt;
* cbEVT_PROJECT_FILE_CHANGED&lt;br /&gt;
* cbEVT_CLEAN_PROJECT_STARTED&lt;br /&gt;
* cbEVT_WORKSPACE_CHANGED&lt;br /&gt;
* cbEVT_CLEAN_WORKSPACE_STARTED&lt;br /&gt;
&lt;br /&gt;
''main menubar creation'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_MENUBAR_CREATE_BEGIN: app notifies that the menubar is started being (re)created&lt;br /&gt;
* cbEVT_MENUBAR_CREATE_END: app notifies that the menubar (re)creation ended&lt;br /&gt;
&lt;br /&gt;
''compiler-related events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_COMPILER_STARTED&lt;br /&gt;
* cbEVT_COMPILER_FINISHED&lt;br /&gt;
&lt;br /&gt;
''debugger-related events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_DEBUGGER_STARTED&lt;br /&gt;
* cbEVT_DEBUGGER_PAUSED&lt;br /&gt;
* cbEVT_DEBUGGER_FINISHED&lt;br /&gt;
&lt;br /&gt;
''logging-system related events'' (CodeBlocksLogEvent)&lt;br /&gt;
* cbEVT_ADD_LOG_WINDOW: add a log window&lt;br /&gt;
* cbEVT_REMOVE_LOG_WINDOW: remove a log window&lt;br /&gt;
* cbEVT_SWITCH_TO_LOG_WINDOW: switch to a log window (make it visible)&lt;br /&gt;
* cbEVT_SHOW_LOG_MANAGER: show log manager&lt;br /&gt;
* cbEVT_HIDE_LOG_MANAGER: hide log manager&lt;br /&gt;
* cbEVT_LOCK_LOG_MANAGER: &amp;quot;lock&amp;quot; it (used with auto-hiding functionality)&lt;br /&gt;
* cbEVT_UNLOCK_LOG_MANAGER: &amp;quot;unlock&amp;quot; it (used with auto-hiding functionality)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''dockable windows'' (CodeBlocksDockEvent)&lt;br /&gt;
* cbEVT_ADD_DOCK_WINDOW: request app to add and manage a docked window&lt;br /&gt;
* cbEVT_REMOVE_DOCK_WINDOW: request app to stop managing a docked window&lt;br /&gt;
* cbEVT_SHOW_DOCK_WINDOW: request app to show a docked window&lt;br /&gt;
* cbEVT_HIDE_DOCK_WINDOW: request app to hide a docked window&lt;br /&gt;
* cbEVT_DOCK_WINDOW_VISIBILITY: app notifies that a docked window has been hidden/shown to actually find out its state use IsWindowReallyShown(event.pWindow);&lt;br /&gt;
&lt;br /&gt;
''layout related events'' (CodeBlocksLayoutEvent)&lt;br /&gt;
* cbEVT_SWITCH_VIEW_LAYOUT: request app to switch view layout&lt;br /&gt;
* cbEVT_SWITCHED_VIEW_LAYOUT: app notifies that a new layout has been applied&lt;br /&gt;
&lt;br /&gt;
==== Events processed on wxWidgets event tables and '''not''' registered using RegisterEventSink ====&lt;br /&gt;
''pipedprocess events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_PIPEDPROCESS_STDOUT&lt;br /&gt;
* cbEVT_PIPEDPROCESS_STDERR&lt;br /&gt;
* cbEVT_PIPEDPROCESS_TERMINATED&lt;br /&gt;
&lt;br /&gt;
''thread-pool events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_THREADTASK_STARTED&lt;br /&gt;
* cbEVT_THREADTASK_ENDED&lt;br /&gt;
* cbEVT_THREADTASK_ALLDONE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Mandrav|Mandrav]] 10:31, 23 November 2007 (UTC)&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Code::Blocks_SDK_events&amp;diff=6411</id>
		<title>Code::Blocks SDK events</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Code::Blocks_SDK_events&amp;diff=6411"/>
		<updated>2010-08-22T16:04:34Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Events that must be registered with RegisterEventSink */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
During a Code::Blocks session, many things are happening: projects/files loading, closing, activating, saving, etc. These are interesting things that happen and various parts of Code::Blocks and its plugins are interested in them.&lt;br /&gt;
The Code::Blocks SDK provides functions that allow a part of the code to be &amp;quot;subscribed&amp;quot; to these events (i.e. be notified when they happen). This is what we 'll look at in this article.&lt;br /&gt;
&lt;br /&gt;
''Note: since mid-November 2007, loggers registration is handled with events too.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Available events ===&lt;br /&gt;
There are many event constants defined for the interesting events that happens inside Code::Blocks. These constants are defined in &amp;lt;tt&amp;gt;include/sdk_events.h&amp;lt;/tt&amp;gt; and listed at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
Also note that there 4 different event categories:&lt;br /&gt;
* Logging system related (CodeBlocksLogEvent)&lt;br /&gt;
* View layout related (CodeBlocksLayoutEvent)&lt;br /&gt;
* Docking system related (CodeBlocksDockEvent)&lt;br /&gt;
* and everything else (CodeBlocksEvent)&lt;br /&gt;
&lt;br /&gt;
=== Subscribing to events ===&lt;br /&gt;
Up until July 6th (2007), Code::Blocks events were handled like other wxWidgets events: by declaring an event table in your class that should handle them and adding relevant event table entries.&lt;br /&gt;
&lt;br /&gt;
But the event system changed radically on July 6th (2007), in order to battle some shortcomings of the wxWidgets event system (at least for our usage). While designing the new system, great attention has been paid so that plugin writers have to do minimum changes to convert their code.&lt;br /&gt;
&lt;br /&gt;
The class that handles all event registrations is the central class in Code::Blocks which you use if you want to do anything with the Code::Blocks SDK: &amp;lt;tt&amp;gt;Manager&amp;lt;/tt&amp;gt;. Let's see by example how would a class (e.g. &amp;lt;tt&amp;gt;SomePlugin&amp;lt;/tt&amp;gt;) subscribe for the cbEVT_EDITOR_SAVE event (fired when an editor's contents are saved):&lt;br /&gt;
&lt;br /&gt;
 // assuming an existing member function:&lt;br /&gt;
 // void SomePlugin::OnEditorSaved(CodeBlocksEvent&amp;amp; event);&lt;br /&gt;
 &lt;br /&gt;
 Manager::Get()-&amp;gt;RegisterEventSink(cbEVT_EDITOR_SAVE, new cbEventFunctor&amp;lt;SomePlugin, CodeBlocksEvent&amp;gt;(this, &amp;amp;SomePlugin::OnEditorSaved));&lt;br /&gt;
&lt;br /&gt;
Seems difficult? It isn't, if you realize what the second argument to &amp;lt;tt&amp;gt;Manager::RegisterEventSink&amp;lt;/tt&amp;gt; does.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;cbEventFunctor&amp;lt;/tt&amp;gt; is a class that encapsulates a this-pointer call. It is like a C function pointer except that it works with class instances (i.e. a member-function pointer).&lt;br /&gt;
For obvious reasons it is a template class, taking two template arguments: the first is the class' name and the second is the type of the event the member function handles.&lt;br /&gt;
&lt;br /&gt;
The constructor of &amp;lt;tt&amp;gt;cbEventFunctor&amp;lt;/tt&amp;gt; takes two arguments: first is the class instance (we use the &amp;lt;tt&amp;gt;this&amp;lt;/tt&amp;gt; pointer) and the second is the address of the member function.&lt;br /&gt;
&lt;br /&gt;
And that's it. After using the above code, the defined function will be called-back on each editor saving :).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Important note:''' For various reasons, cbEVT_PIPEDPROCESS* and cbEVT_THREADEDTASK* events should still be bound using the old way (i.e. by adding event table entries). If this is changed in the future, this article will be updated accordingly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Unsubscribing from events ===&lt;br /&gt;
Usually there is no need to unsubscribe from event notifications. A plugin, for example, is automatically removed from all event notifications when it is detached (deactivated, unloaded, uninstalled).&lt;br /&gt;
&lt;br /&gt;
But if you really think you need to unsubscribe from events, there is a function to do that: &amp;lt;tt&amp;gt;Manager::Get()-&amp;gt;RemoveAllEventSinksFor(void* owner)&amp;lt;/tt&amp;gt;. As the sole argument, pass the instance that you registered the events in the first place.&lt;br /&gt;
&lt;br /&gt;
Notice that this function will remove ''all event notifications'' for the specified instance. There is no way to remove event notifications selectively. It's an all-or-nothing deal...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== When to register/unregister for event notifications? ===&lt;br /&gt;
In plugins, event notifications should be registered in &amp;lt;tt&amp;gt;OnAttach()&amp;lt;/tt&amp;gt;. As mentioned above, there is no need to unregister anything in &amp;lt;tt&amp;gt;OnDetach()&amp;lt;/tt&amp;gt; because it is automatically done by Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
For code other than plugins, register whenever you think is better (depends on the actual code).&lt;br /&gt;
&lt;br /&gt;
Also notice that Code::Blocks removes all registrations on shut down, so don't even think that we have memory leaks in that part ;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Any examples? ===&lt;br /&gt;
If the example provided above is not enough, browse through the sources of the core/contrib Code::Blocks plugins. A few of them register for events: just search the code for &amp;lt;tt&amp;gt;RegisterEventSink&amp;lt;/tt&amp;gt;.&lt;br /&gt;
But it really is nothing difficult: just remove the event handlers from the class's event table and register with this new way.&lt;br /&gt;
&lt;br /&gt;
=== List of Available Code::Blocks Events ===&lt;br /&gt;
&lt;br /&gt;
==== Events that must be registered with RegisterEventSink ====&lt;br /&gt;
''app events''&lt;br /&gt;
* cbEVT_APP_STARTUP_DONE&lt;br /&gt;
* cbEVT_APP_START_SHUTDOWN&lt;br /&gt;
* &amp;lt;strike&amp;gt;cbEVT_APP_UPDATE_TITLE&amp;lt;/strike&amp;gt; (removed)&lt;br /&gt;
&lt;br /&gt;
''plugin events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_PLUGIN_ATTACHED&lt;br /&gt;
* cbEVT_PLUGIN_RELEASED&lt;br /&gt;
* cbEVT_PLUGIN_INSTALLED&lt;br /&gt;
* cbEVT_PLUGIN_UNINSTALLED&lt;br /&gt;
&lt;br /&gt;
''editor events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_EDITOR_CLOSE&lt;br /&gt;
* cbEVT_EDITOR_OPEN&lt;br /&gt;
* cbEVT_EDITOR_ACTIVATED&lt;br /&gt;
* cbEVT_EDITOR_DEACTIVATED&lt;br /&gt;
* cbEVT_EDITOR_SAVE&lt;br /&gt;
* cbEVT_EDITOR_MODIFIED&lt;br /&gt;
* cbEVT_EDITOR_TOOLTIP&lt;br /&gt;
* cbEVT_EDITOR_TOOLTIP_CANCEL&lt;br /&gt;
* cbEVT_EDITOR_BREAKPOINT_ADD&lt;br /&gt;
* cbEVT_EDITOR_BREAKPOINT_EDIT&lt;br /&gt;
* cbEVT_EDITOR_BREAKPOINT_DELETE&lt;br /&gt;
* cbEVT_EDITOR_UPDATE_UI&lt;br /&gt;
* cbEVT_EDITOR_SWITCHED&lt;br /&gt;
&lt;br /&gt;
''project events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_PROJECT_CLOSE&lt;br /&gt;
* cbEVT_PROJECT_OPEN&lt;br /&gt;
* cbEVT_PROJECT_SAVE&lt;br /&gt;
* cbEVT_PROJECT_ACTIVATE&lt;br /&gt;
* cbEVT_PROJECT_BEGIN_ADD_FILES&lt;br /&gt;
* cbEVT_PROJECT_END_ADD_FILES&lt;br /&gt;
* cbEVT_PROJECT_BEGIN_REMOVE_FILES&lt;br /&gt;
* cbEVT_PROJECT_END_REMOVE_FILES&lt;br /&gt;
* cbEVT_PROJECT_FILE_ADDED&lt;br /&gt;
* cbEVT_PROJECT_FILE_REMOVED&lt;br /&gt;
* cbEVT_PROJECT_POPUP_MENU&lt;br /&gt;
* cbEVT_PROJECT_TARGETS_MODIFIED&lt;br /&gt;
* cbEVT_PROJECT_RENAMED&lt;br /&gt;
* cbEVT_WORKSPACE_CHANGED&lt;br /&gt;
* cbEVT_PROJECT_FILE_CHANGED&lt;br /&gt;
* cbEVT_CLEAN_PROJECT_STARTED&lt;br /&gt;
* cbEVT_CLEAN_WORKSPACE_STARTED&lt;br /&gt;
&lt;br /&gt;
''main menubar creation'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_MENUBAR_CREATE_BEGIN: app notifies that the menubar is started being (re)created&lt;br /&gt;
* cbEVT_MENUBAR_CREATE_END: app notifies that the menubar (re)creation ended&lt;br /&gt;
&lt;br /&gt;
''compiler-related events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_COMPILER_STARTED&lt;br /&gt;
* cbEVT_COMPILER_FINISHED&lt;br /&gt;
&lt;br /&gt;
''debugger-related events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_DEBUGGER_STARTED&lt;br /&gt;
* cbEVT_DEBUGGER_PAUSED&lt;br /&gt;
* cbEVT_DEBUGGER_FINISHED&lt;br /&gt;
&lt;br /&gt;
''logging-system related events'' (CodeBlocksLogEvent)&lt;br /&gt;
* cbEVT_ADD_LOG_WINDOW: add a log window&lt;br /&gt;
* cbEVT_REMOVE_LOG_WINDOW: remove a log window&lt;br /&gt;
* cbEVT_SWITCH_TO_LOG_WINDOW: switch to a log window (make it visible)&lt;br /&gt;
* cbEVT_SHOW_LOG_MANAGER: show log manager&lt;br /&gt;
* cbEVT_HIDE_LOG_MANAGER: hide log manager&lt;br /&gt;
* cbEVT_LOCK_LOG_MANAGER: &amp;quot;lock&amp;quot; it (used with auto-hiding functionality)&lt;br /&gt;
* cbEVT_UNLOCK_LOG_MANAGER: &amp;quot;unlock&amp;quot; it (used with auto-hiding functionality)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''dockable windows'' (CodeBlocksDockEvent)&lt;br /&gt;
* cbEVT_ADD_DOCK_WINDOW: request app to add and manage a docked window&lt;br /&gt;
* cbEVT_REMOVE_DOCK_WINDOW: request app to stop managing a docked window&lt;br /&gt;
* cbEVT_SHOW_DOCK_WINDOW: request app to show a docked window&lt;br /&gt;
* cbEVT_HIDE_DOCK_WINDOW: request app to hide a docked window&lt;br /&gt;
* cbEVT_DOCK_WINDOW_VISIBILITY: app notifies that a docked window has been hidden/shown to actually find out its state use IsWindowReallyShown(event.pWindow);&lt;br /&gt;
&lt;br /&gt;
''layout related events'' (CodeBlocksLayoutEvent)&lt;br /&gt;
* cbEVT_SWITCH_VIEW_LAYOUT: request app to switch view layout&lt;br /&gt;
* cbEVT_SWITCHED_VIEW_LAYOUT: app notifies that a new layout has been applied&lt;br /&gt;
&lt;br /&gt;
==== Events processed on wxWidgets event tables and '''not''' registered using RegisterEventSink ====&lt;br /&gt;
''pipedprocess events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_PIPEDPROCESS_STDOUT&lt;br /&gt;
* cbEVT_PIPEDPROCESS_STDERR&lt;br /&gt;
* cbEVT_PIPEDPROCESS_TERMINATED&lt;br /&gt;
&lt;br /&gt;
''thread-pool events'' (CodeBlocksEvent)&lt;br /&gt;
* cbEVT_THREADTASK_STARTED&lt;br /&gt;
* cbEVT_THREADTASK_ENDED&lt;br /&gt;
* cbEVT_THREADTASK_ALLDONE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Mandrav|Mandrav]] 10:31, 23 November 2007 (UTC)&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=6281</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=6281"/>
		<updated>2010-02-15T21:39:36Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Files and directories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Code::Blocks workspace ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACE_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_FILE_NAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEFILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEFILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the current workspace project (.workspace).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the workspace that is displayed in the tab Projects of the Management panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACE_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_DIRECTORY)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEDIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The location of the workspace directory.&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_LINE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Return the current line in the active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_COLUMN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Return the column of the current line in the active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_COMPILER_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The compiler installation directory so-called master path.&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OBJECT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's object directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DAYCOUNT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The number of the days passed since an arbitrarily chosen day zero (January 1, 2009). Useful as last component of a version/build number.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Script expansion ===&lt;br /&gt;
&lt;br /&gt;
:For maximum flexibility, you can embed scripts using the &amp;lt;tt&amp;gt;[[&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;]]&amp;lt;/tt&amp;gt; operator as a special case of variable expansion. Embedded scripts have access to all standard functionality available to scrips and work pretty much like &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; backticks (except for having access to Code::Blocks' namespace). As such, scripts are not limited to producing text output, but can also manipulate Code::Blocks state (projects, targets, etc.). Although this is technically possible, it is generally bad design and a very stupid idea to do so. Manipulating Code::Blocks state from a pre-build script is a much better solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The script text is replaced with any output generated by your script, or discarded in case of a syntax error.&lt;br /&gt;
&lt;br /&gt;
:As conditional evaluation runs prior to expanding scripts, conditional evaluation can be used for preprocessor functionality. Builtin variables (and user variables) are expanded after scripts, so it is possible to reference variables in a script's output.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[ print(GetProjectManager().GetActiveProject().GetTitle()); ]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:inserts the active project's title into the command line.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=6248</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=6248"/>
		<updated>2010-01-01T11:05:04Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Files and directories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Code::Blocks workspace ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACE_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_FILE_NAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEFILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEFILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the current workspace project (.workspace).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the workspace that is displayed in the tab Projects of the Management panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACE_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_DIRECTORY)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEDIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The location of the workspace directory.&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_COMPILER_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The compiler installation directory so-called master path.&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OBJECT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's object directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DAYCOUNT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The number of the days passed since an arbitrarily chosen day zero (January 1, 2009). Useful as last component of a version/build number.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Script expansion ===&lt;br /&gt;
&lt;br /&gt;
:For maximum flexibility, you can embed scripts using the &amp;lt;tt&amp;gt;[[&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;]]&amp;lt;/tt&amp;gt; operator as a special case of variable expansion. Embedded scripts have access to all standard functionality available to scrips and work pretty much like &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; backticks (except for having access to Code::Blocks' namespace). As such, scripts are not limited to producing text output, but can also manipulate Code::Blocks state (projects, targets, etc.). Although this is technically possible, it is generally bad design and a very stupid idea to do so. Manipulating Code::Blocks state from a pre-build script is a much better solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The script text is replaced with any output generated by your script, or discarded in case of a syntax error.&lt;br /&gt;
&lt;br /&gt;
:As conditional evaluation runs prior to expanding scripts, conditional evaluation can be used for preprocessor functionality. Builtin variables (and user variables) are expanded after scripts, so it is possible to reference variables in a script's output.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[ print(GetProjectManager().GetActiveProject().GetTitle()); ]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:inserts the active project's title into the command line.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=5801</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=5801"/>
		<updated>2009-01-16T11:16:57Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Code::Blocks workspace */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Code::Blocks workspace ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACE_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_FILE_NAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEFILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEFILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the current workspace project (.workspace).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the workspace that is displayed in the tab Projects of the Management panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACE_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_DIRECTORY)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEDIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The location of the workspace directory.&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OBJECT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's object directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Script expansion ===&lt;br /&gt;
&lt;br /&gt;
:For maximum flexibility, you can embed scripts using the &amp;lt;tt&amp;gt;[[&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;]]&amp;lt;/tt&amp;gt; operator as a special case of variable expansion. Embedded scripts have access to all standard functionality available to scrips and work pretty much like &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; backticks (except for having access to Code::Blocks' namespace). As such, scripts are not limited to producing text output, but can also manipulate Code::Blocks state (projects, targets, etc.). Although this is technically possible, it is generally bad design and a very stupid idea to do so. Manipulating Code::Blocks state from a pre-build script is a much better solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The script text is replaced with any output generated by your script, or discarded in case of a syntax error.&lt;br /&gt;
&lt;br /&gt;
:As conditional evaluation runs prior to expanding scripts, conditional evaluation can be used for preprocessor functionality. Builtin variables (and user variables) are expanded after scripts, so it is possible to reference variables in a script's output.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[ print(GetProjectManager().GetActiveProject().GetTitle()); ]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:inserts the active project's title into the command line.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=5800</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=5800"/>
		<updated>2009-01-16T11:09:17Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* List of available builtins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Code::Blocks workspace ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACE_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_FILE_NAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEFILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEFILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the current workspace project (.workspace).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the workspace that is displayed in the Management panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACE_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_DIRECTORY)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEDIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The location of the workspace directory.&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OBJECT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's object directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Script expansion ===&lt;br /&gt;
&lt;br /&gt;
:For maximum flexibility, you can embed scripts using the &amp;lt;tt&amp;gt;[[&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;]]&amp;lt;/tt&amp;gt; operator as a special case of variable expansion. Embedded scripts have access to all standard functionality available to scrips and work pretty much like &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; backticks (except for having access to Code::Blocks' namespace). As such, scripts are not limited to producing text output, but can also manipulate Code::Blocks state (projects, targets, etc.). Although this is technically possible, it is generally bad design and a very stupid idea to do so. Manipulating Code::Blocks state from a pre-build script is a much better solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The script text is replaced with any output generated by your script, or discarded in case of a syntax error.&lt;br /&gt;
&lt;br /&gt;
:As conditional evaluation runs prior to expanding scripts, conditional evaluation can be used for preprocessor functionality. Builtin variables (and user variables) are expanded after scripts, so it is possible to reference variables in a script's output.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[ print(GetProjectManager().GetActiveProject().GetTitle()); ]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:inserts the active project's title into the command line.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=5799</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=5799"/>
		<updated>2009-01-16T11:08:29Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Files and directories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Code::Blocks workspace ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACE_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_FILE_NAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEFILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEFILENAME)&amp;lt;/code&amp;gt;: The filename of the current workspace project (.workspace).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_NAME)&amp;lt;/code&amp;gt;: The name of the workspace that is displayed in the Management panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACE_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_DIRECTORY)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEDIRECTORY)&amp;lt;/code&amp;gt;: The location of the workspace directory.&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OBJECT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's object directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Script expansion ===&lt;br /&gt;
&lt;br /&gt;
:For maximum flexibility, you can embed scripts using the &amp;lt;tt&amp;gt;[[&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;]]&amp;lt;/tt&amp;gt; operator as a special case of variable expansion. Embedded scripts have access to all standard functionality available to scrips and work pretty much like &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; backticks (except for having access to Code::Blocks' namespace). As such, scripts are not limited to producing text output, but can also manipulate Code::Blocks state (projects, targets, etc.). Although this is technically possible, it is generally bad design and a very stupid idea to do so. Manipulating Code::Blocks state from a pre-build script is a much better solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The script text is replaced with any output generated by your script, or discarded in case of a syntax error.&lt;br /&gt;
&lt;br /&gt;
:As conditional evaluation runs prior to expanding scripts, conditional evaluation can be used for preprocessor functionality. Builtin variables (and user variables) are expanded after scripts, so it is possible to reference variables in a script's output.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[ print(GetProjectManager().GetActiveProject().GetTitle()); ]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:inserts the active project's title into the command line.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Keyboard_Shortcuts&amp;diff=5785</id>
		<title>Keyboard Shortcuts</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Keyboard_Shortcuts&amp;diff=5785"/>
		<updated>2009-01-03T01:03:32Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Search */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
::''Note: You can define your own keyboard shortcuts with the [[Keyboard Shortcuts plugin]]''&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Undo last action || Ctrl + Z&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Redo last action || Ctrl + Shift + Z&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Cut selected text || Ctrl + X&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Copy selected text || Ctrl + C&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Paste text from clipboard || Ctrl + V&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Select all text || Ctrl + A&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Swap header / source || F11&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Comment highlighted code || Ctrl + Shift + C&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Uncomment highlighted code || Ctrl + Shift + X&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Duplicate line caret is on || Ctrl + D&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Auto-complete / Abbreviations || Ctrl + Space / Ctrl + J&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Show call tip || Ctrl + Shift + Space&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Swap line caret is on with line above it || Ctrl + T&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Toggle bookmark || Ctrl + B&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto previous bookmark || Alt + PgUp&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto next bookmark || Alt + PgDown&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Toggle current block folding || F12&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Toggle all folds || Shift + F12&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a list of shortcuts provided by the Code::Blocks' editor component. These shortcuts cannot be rebound.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Magnify text size. || Ctrl + Keypad &amp;quot;+&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Reduce text size. || Ctrl + Keypad &amp;quot;-&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Restore text size to normal. || Ctrl + Keypad &amp;quot;/&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Cycle through recent files. || Ctrl + Tab&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Indent block. || Tab&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Dedent block. || Shift + Tab&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Delete to start of word. || Ctrl + BackSpace&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Delete to end of word. || Ctrl + Delete&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Delete to start of line. || Ctrl + Shift + BackSpace&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Delete to end of line. || Ctrl + Shift + Delete&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Go to start of document. || Ctrl + Home&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Extend selection to start of document. || Ctrl + Shift + Home&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Go to start of display line. || Alt + Home&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Extend selection to start of display line. || Alt + Shift + Home&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Go to end of document. || Ctrl + End&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Extend selection to end of document. || Ctrl + Shift + End&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Go to end of display line. || Alt + End&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Extend selection to end of display line. || Alt + Shift + End&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Expand or contract a fold point. || Ctrl + Keypad &amp;quot;*&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Create or delete a bookmark. || Ctrl + F2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Go to next bookmark. || F2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Select to next bookmark. || Alt + F2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find selection. || Ctrl + F3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find selection backwards. || Ctrl + Shift + F3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Scroll up. || Ctrl + Up&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Scroll down. || Ctrl + Down&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Line cut. || Ctrl + L&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Line copy. || Ctrl + Shift + T&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Line delete. || Ctrl + Shift + L&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Line transpose with previous. || Ctrl + T&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Line duplicate. || Ctrl + D&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find matching preprocessor conditional, skipping nested ones. || Ctrl + K&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Select to matching preprocessor conditional. || Ctrl + Shift + K&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find matching preprocessor conditional backwards, skipping nested ones. || Ctrl + J&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Select to matching preprocessor conditional backwards. || Ctrl + Shift + J&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Previous paragraph. Shift extends selection. || Ctrl + [&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Next paragraph. Shift extends selection. || Ctrl + ]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Previous word. Shift extends selection. || Ctrl + Left&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Next word. Shift extends selection. || Ctrl + Right&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Previous word part. Shift extends selection. || Ctrl + /&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Next word part. Shift extends selection. || Ctrl + \&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Files ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| New file or project || Ctrl + N&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Open existing file or project || Ctrl + O&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Save current file || Ctrl + S&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Save all files || Ctrl + Shift + S&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Close current file || Ctrl + F4 / Ctrl + W&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Close all files || Ctrl + Shift + F4 / Ctrl + Shift + W&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a list of shortcuts provided by the Code::Blocks' tab component. These shortcuts cannot be rebound.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Activate next open file || Ctrl + Tab&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Activate previous open file || Ctrl + Shift + Tab&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== View ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Show / hide Messages pane || F2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Show / hide Management pane || Shift + F2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Move project up (in Project tree) || Ctrl + Shift + Up&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Move project down (in Project tree) || Ctrl + Shift + Down&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Activate prior (in Project tree) || Alt + F5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Activate next (in Project tree) || Alt + F6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Zoom in / out || Ctrl + Roll Mouse Wheel&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Focus editor || CTRL + Alt + E&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Search ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find || Ctrl + F&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find next || F3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find previous || Shift + F3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find in files || Crtl + Shift + F&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Replace || Ctrl + R&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Replace in files || Ctrl + Shift + R&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto line || Ctrl + G&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto next changed line || Ctrl + F3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto previous changed line || Ctrl + Shift + F3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto file || Alt + G&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto function || Ctrl + Alt + G&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto previous function || Ctrl + PgUp&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto next function || Ctrl + PgDn&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto declaration || Ctrl + Shift + .&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto implementation || Ctrl + .&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Open include file || Ctrl + Alt + .&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Build || Ctrl + F9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Compile current file || Ctrl + Shift + F9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Run || Ctrl + F10&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Build and Run || F9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Rebuild || Ctrl + F11&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debug ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Debug || F8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Continue debugging || Ctrl + F7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Step over a code block || F7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Step into a code block || Shift + F7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Step out of a code block || Ctrl + Shift + F7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Toggle breakpoint || F5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Run to cursor || F4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Previous error || Alt + F1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Next error || Alt + F2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5748</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5748"/>
		<updated>2008-11-23T11:44:33Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Setting Defines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) - Saving different layouts and assigning a shortcuts is a workaround.&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
If users are writing source code a quite common problem is that your are using copy and paste functionality. Sometimes it could happen that you want to replace two different words with a new string. For example you have a header file and renamed two defines&lt;br /&gt;
&lt;br /&gt;
#define NAME1 1&lt;br /&gt;
#define NAME2 2&lt;br /&gt;
&lt;br /&gt;
and renamed&lt;br /&gt;
&lt;br /&gt;
#define NAME_1 1&lt;br /&gt;
#define NAME_2 2&lt;br /&gt;
&lt;br /&gt;
These defines are a bit mask in status variable and this is used in your source code.&lt;br /&gt;
&lt;br /&gt;
var = NAME1 | NAME2;&lt;br /&gt;
&lt;br /&gt;
It would be easier in such a case to put NAME_1 and NAME_2 in a clipboard history, that could be displayed e.g. in the log &amp;amp; others window. Now if you reached the line with var you could select NAME1 and make e.g. a double click on the NAME_1 entry in the clipboard history to paste the string and if you select NAME2 the same again for the other entry. Since you could have several entries in the clipboard history it would make sense to sort them alphebatically  (e.g. sort button or column) on demand.&lt;br /&gt;
&lt;br /&gt;
For example I am using (http://ditto-cp.sourceforge.net/) ditto clipboard history manager under windows. With this clipboard manager you can type a text in a search field and then you get a filtered clipboard history. This would be a more advanced feature but desirable.&lt;br /&gt;
&lt;br /&gt;
Since a clipboard entry could be very long I think it should be trunkated to a fix number of characters. I do not know what would be a reasonable length.&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks.&lt;br /&gt;
&lt;br /&gt;
== Hunspell ==&lt;br /&gt;
Integrate Hunspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5747</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5747"/>
		<updated>2008-11-23T11:44:22Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Assembler Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) - Saving different layouts and assigning a shortcuts is a workaround.&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
If users are writing source code a quite common problem is that your are using copy and paste functionality. Sometimes it could happen that you want to replace two different words with a new string. For example you have a header file and renamed two defines&lt;br /&gt;
&lt;br /&gt;
#define NAME1 1&lt;br /&gt;
#define NAME2 2&lt;br /&gt;
&lt;br /&gt;
and renamed&lt;br /&gt;
&lt;br /&gt;
#define NAME_1 1&lt;br /&gt;
#define NAME_2 2&lt;br /&gt;
&lt;br /&gt;
These defines are a bit mask in status variable and this is used in your source code.&lt;br /&gt;
&lt;br /&gt;
var = NAME1 | NAME2;&lt;br /&gt;
&lt;br /&gt;
It would be easier in such a case to put NAME_1 and NAME_2 in a clipboard history, that could be displayed e.g. in the log &amp;amp; others window. Now if you reached the line with var you could select NAME1 and make e.g. a double click on the NAME_1 entry in the clipboard history to paste the string and if you select NAME2 the same again for the other entry. Since you could have several entries in the clipboard history it would make sense to sort them alphebatically  (e.g. sort button or column) on demand.&lt;br /&gt;
&lt;br /&gt;
For example I am using (http://ditto-cp.sourceforge.net/) ditto clipboard history manager under windows. With this clipboard manager you can type a text in a search field and then you get a filtered clipboard history. This would be a more advanced feature but desirable.&lt;br /&gt;
&lt;br /&gt;
Since a clipboard entry could be very long I think it should be trunkated to a fix number of characters. I do not know what would be a reasonable length.&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks.&lt;br /&gt;
&lt;br /&gt;
== Hunspell ==&lt;br /&gt;
Integrate Hunspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5746</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5746"/>
		<updated>2008-11-23T11:43:51Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Resize editor window */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) - Saving different layouts and assigning a shortcuts is a workaround.&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
If users are writing source code a quite common problem is that your are using copy and paste functionality. Sometimes it could happen that you want to replace two different words with a new string. For example you have a header file and renamed two defines&lt;br /&gt;
&lt;br /&gt;
#define NAME1 1&lt;br /&gt;
#define NAME2 2&lt;br /&gt;
&lt;br /&gt;
and renamed&lt;br /&gt;
&lt;br /&gt;
#define NAME_1 1&lt;br /&gt;
#define NAME_2 2&lt;br /&gt;
&lt;br /&gt;
These defines are a bit mask in status variable and this is used in your source code.&lt;br /&gt;
&lt;br /&gt;
var = NAME1 | NAME2;&lt;br /&gt;
&lt;br /&gt;
It would be easier in such a case to put NAME_1 and NAME_2 in a clipboard history, that could be displayed e.g. in the log &amp;amp; others window. Now if you reached the line with var you could select NAME1 and make e.g. a double click on the NAME_1 entry in the clipboard history to paste the string and if you select NAME2 the same again for the other entry. Since you could have several entries in the clipboard history it would make sense to sort them alphebatically  (e.g. sort button or column) on demand.&lt;br /&gt;
&lt;br /&gt;
For example I am using (http://ditto-cp.sourceforge.net/) ditto clipboard history manager under windows. With this clipboard manager you can type a text in a search field and then you get a filtered clipboard history. This would be a more advanced feature but desirable.&lt;br /&gt;
&lt;br /&gt;
Since a clipboard entry could be very long I think it should be trunkated to a fix number of characters. I do not know what would be a reasonable length.&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks.&lt;br /&gt;
&lt;br /&gt;
== Hunspell ==&lt;br /&gt;
Integrate Hunspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5745</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5745"/>
		<updated>2008-11-23T11:42:47Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Extension Points for options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) - Saving different layouts and putting shortcuts is a workaround.&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
If users are writing source code a quite common problem is that your are using copy and paste functionality. Sometimes it could happen that you want to replace two different words with a new string. For example you have a header file and renamed two defines&lt;br /&gt;
&lt;br /&gt;
#define NAME1 1&lt;br /&gt;
#define NAME2 2&lt;br /&gt;
&lt;br /&gt;
and renamed&lt;br /&gt;
&lt;br /&gt;
#define NAME_1 1&lt;br /&gt;
#define NAME_2 2&lt;br /&gt;
&lt;br /&gt;
These defines are a bit mask in status variable and this is used in your source code.&lt;br /&gt;
&lt;br /&gt;
var = NAME1 | NAME2;&lt;br /&gt;
&lt;br /&gt;
It would be easier in such a case to put NAME_1 and NAME_2 in a clipboard history, that could be displayed e.g. in the log &amp;amp; others window. Now if you reached the line with var you could select NAME1 and make e.g. a double click on the NAME_1 entry in the clipboard history to paste the string and if you select NAME2 the same again for the other entry. Since you could have several entries in the clipboard history it would make sense to sort them alphebatically  (e.g. sort button or column) on demand.&lt;br /&gt;
&lt;br /&gt;
For example I am using (http://ditto-cp.sourceforge.net/) ditto clipboard history manager under windows. With this clipboard manager you can type a text in a search field and then you get a filtered clipboard history. This would be a more advanced feature but desirable.&lt;br /&gt;
&lt;br /&gt;
Since a clipboard entry could be very long I think it should be trunkated to a fix number of characters. I do not know what would be a reasonable length.&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks.&lt;br /&gt;
&lt;br /&gt;
== Hunspell ==&lt;br /&gt;
Integrate Hunspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5744</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5744"/>
		<updated>2008-11-23T11:42:34Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Occlusion highlight */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) - Saving different layouts and putting shortcuts is a workaround.&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
If users are writing source code a quite common problem is that your are using copy and paste functionality. Sometimes it could happen that you want to replace two different words with a new string. For example you have a header file and renamed two defines&lt;br /&gt;
&lt;br /&gt;
#define NAME1 1&lt;br /&gt;
#define NAME2 2&lt;br /&gt;
&lt;br /&gt;
and renamed&lt;br /&gt;
&lt;br /&gt;
#define NAME_1 1&lt;br /&gt;
#define NAME_2 2&lt;br /&gt;
&lt;br /&gt;
These defines are a bit mask in status variable and this is used in your source code.&lt;br /&gt;
&lt;br /&gt;
var = NAME1 | NAME2;&lt;br /&gt;
&lt;br /&gt;
It would be easier in such a case to put NAME_1 and NAME_2 in a clipboard history, that could be displayed e.g. in the log &amp;amp; others window. Now if you reached the line with var you could select NAME1 and make e.g. a double click on the NAME_1 entry in the clipboard history to paste the string and if you select NAME2 the same again for the other entry. Since you could have several entries in the clipboard history it would make sense to sort them alphebatically  (e.g. sort button or column) on demand.&lt;br /&gt;
&lt;br /&gt;
For example I am using (http://ditto-cp.sourceforge.net/) ditto clipboard history manager under windows. With this clipboard manager you can type a text in a search field and then you get a filtered clipboard history. This would be a more advanced feature but desirable.&lt;br /&gt;
&lt;br /&gt;
Since a clipboard entry could be very long I think it should be trunkated to a fix number of characters. I do not know what would be a reasonable length.&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks.&lt;br /&gt;
&lt;br /&gt;
== Hunspell ==&lt;br /&gt;
Integrate Hunspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5743</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5743"/>
		<updated>2008-11-23T11:41:56Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* File Explorer in CB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) - Saving different layouts and putting shortcuts is a workaround.&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
If users are writing source code a quite common problem is that your are using copy and paste functionality. Sometimes it could happen that you want to replace two different words with a new string. For example you have a header file and renamed two defines&lt;br /&gt;
&lt;br /&gt;
#define NAME1 1&lt;br /&gt;
#define NAME2 2&lt;br /&gt;
&lt;br /&gt;
and renamed&lt;br /&gt;
&lt;br /&gt;
#define NAME_1 1&lt;br /&gt;
#define NAME_2 2&lt;br /&gt;
&lt;br /&gt;
These defines are a bit mask in status variable and this is used in your source code.&lt;br /&gt;
&lt;br /&gt;
var = NAME1 | NAME2;&lt;br /&gt;
&lt;br /&gt;
It would be easier in such a case to put NAME_1 and NAME_2 in a clipboard history, that could be displayed e.g. in the log &amp;amp; others window. Now if you reached the line with var you could select NAME1 and make e.g. a double click on the NAME_1 entry in the clipboard history to paste the string and if you select NAME2 the same again for the other entry. Since you could have several entries in the clipboard history it would make sense to sort them alphebatically  (e.g. sort button or column) on demand.&lt;br /&gt;
&lt;br /&gt;
For example I am using (http://ditto-cp.sourceforge.net/) ditto clipboard history manager under windows. With this clipboard manager you can type a text in a search field and then you get a filtered clipboard history. This would be a more advanced feature but desirable.&lt;br /&gt;
&lt;br /&gt;
Since a clipboard entry could be very long I think it should be trunkated to a fix number of characters. I do not know what would be a reasonable length.&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks.&lt;br /&gt;
&lt;br /&gt;
== Hunspell ==&lt;br /&gt;
Integrate Hunspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5742</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5742"/>
		<updated>2008-11-23T11:41:39Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Block Select Mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) - Saving different layouts and putting shortcuts is a workaround.&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
If users are writing source code a quite common problem is that your are using copy and paste functionality. Sometimes it could happen that you want to replace two different words with a new string. For example you have a header file and renamed two defines&lt;br /&gt;
&lt;br /&gt;
#define NAME1 1&lt;br /&gt;
#define NAME2 2&lt;br /&gt;
&lt;br /&gt;
and renamed&lt;br /&gt;
&lt;br /&gt;
#define NAME_1 1&lt;br /&gt;
#define NAME_2 2&lt;br /&gt;
&lt;br /&gt;
These defines are a bit mask in status variable and this is used in your source code.&lt;br /&gt;
&lt;br /&gt;
var = NAME1 | NAME2;&lt;br /&gt;
&lt;br /&gt;
It would be easier in such a case to put NAME_1 and NAME_2 in a clipboard history, that could be displayed e.g. in the log &amp;amp; others window. Now if you reached the line with var you could select NAME1 and make e.g. a double click on the NAME_1 entry in the clipboard history to paste the string and if you select NAME2 the same again for the other entry. Since you could have several entries in the clipboard history it would make sense to sort them alphebatically  (e.g. sort button or column) on demand.&lt;br /&gt;
&lt;br /&gt;
For example I am using (http://ditto-cp.sourceforge.net/) ditto clipboard history manager under windows. With this clipboard manager you can type a text in a search field and then you get a filtered clipboard history. This would be a more advanced feature but desirable.&lt;br /&gt;
&lt;br /&gt;
Since a clipboard entry could be very long I think it should be trunkated to a fix number of characters. I do not know what would be a reasonable length.&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hunspell ==&lt;br /&gt;
Integrate Hunspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5741</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5741"/>
		<updated>2008-11-23T11:41:23Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Insert Class method Declaration/Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) - Saving different layouts and putting shortcuts is a workaround.&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
If users are writing source code a quite common problem is that your are using copy and paste functionality. Sometimes it could happen that you want to replace two different words with a new string. For example you have a header file and renamed two defines&lt;br /&gt;
&lt;br /&gt;
#define NAME1 1&lt;br /&gt;
#define NAME2 2&lt;br /&gt;
&lt;br /&gt;
and renamed&lt;br /&gt;
&lt;br /&gt;
#define NAME_1 1&lt;br /&gt;
#define NAME_2 2&lt;br /&gt;
&lt;br /&gt;
These defines are a bit mask in status variable and this is used in your source code.&lt;br /&gt;
&lt;br /&gt;
var = NAME1 | NAME2;&lt;br /&gt;
&lt;br /&gt;
It would be easier in such a case to put NAME_1 and NAME_2 in a clipboard history, that could be displayed e.g. in the log &amp;amp; others window. Now if you reached the line with var you could select NAME1 and make e.g. a double click on the NAME_1 entry in the clipboard history to paste the string and if you select NAME2 the same again for the other entry. Since you could have several entries in the clipboard history it would make sense to sort them alphebatically  (e.g. sort button or column) on demand.&lt;br /&gt;
&lt;br /&gt;
For example I am using (http://ditto-cp.sourceforge.net/) ditto clipboard history manager under windows. With this clipboard manager you can type a text in a search field and then you get a filtered clipboard history. This would be a more advanced feature but desirable.&lt;br /&gt;
&lt;br /&gt;
Since a clipboard entry could be very long I think it should be trunkated to a fix number of characters. I do not know what would be a reasonable length.&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Hunspell ==&lt;br /&gt;
Integrate Hunspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5740</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5740"/>
		<updated>2008-11-23T11:41:12Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Clipboard History */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) - Saving different layouts and putting shortcuts is a workaround.&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
If users are writing source code a quite common problem is that your are using copy and paste functionality. Sometimes it could happen that you want to replace two different words with a new string. For example you have a header file and renamed two defines&lt;br /&gt;
&lt;br /&gt;
#define NAME1 1&lt;br /&gt;
#define NAME2 2&lt;br /&gt;
&lt;br /&gt;
and renamed&lt;br /&gt;
&lt;br /&gt;
#define NAME_1 1&lt;br /&gt;
#define NAME_2 2&lt;br /&gt;
&lt;br /&gt;
These defines are a bit mask in status variable and this is used in your source code.&lt;br /&gt;
&lt;br /&gt;
var = NAME1 | NAME2;&lt;br /&gt;
&lt;br /&gt;
It would be easier in such a case to put NAME_1 and NAME_2 in a clipboard history, that could be displayed e.g. in the log &amp;amp; others window. Now if you reached the line with var you could select NAME1 and make e.g. a double click on the NAME_1 entry in the clipboard history to paste the string and if you select NAME2 the same again for the other entry. Since you could have several entries in the clipboard history it would make sense to sort them alphebatically  (e.g. sort button or column) on demand.&lt;br /&gt;
&lt;br /&gt;
For example I am using (http://ditto-cp.sourceforge.net/) ditto clipboard history manager under windows. With this clipboard manager you can type a text in a search field and then you get a filtered clipboard history. This would be a more advanced feature but desirable.&lt;br /&gt;
&lt;br /&gt;
Since a clipboard entry could be very long I think it should be trunkated to a fix number of characters. I do not know what would be a reasonable length.&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Hunspell ==&lt;br /&gt;
Integrate Hunspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5739</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5739"/>
		<updated>2008-11-23T11:39:59Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Resize editor window */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) - Saving different layouts and putting shortcuts is a workaround.&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Hunspell ==&lt;br /&gt;
Integrate Hunspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5738</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5738"/>
		<updated>2008-11-23T11:39:26Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Wrap Mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Hunspell ==&lt;br /&gt;
Integrate Hunspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5737</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5737"/>
		<updated>2008-11-23T11:39:03Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Aspell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Hunspell ==&lt;br /&gt;
Integrate Hunspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5730</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5730"/>
		<updated>2008-11-11T22:38:47Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Insert Class method Declaration/Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5729</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5729"/>
		<updated>2008-11-11T22:38:32Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Show value of defines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5728</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5728"/>
		<updated>2008-11-11T22:38:10Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Insert Class method Declaration/Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5727</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5727"/>
		<updated>2008-11-11T22:37:55Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Incremental Search */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5726</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5726"/>
		<updated>2008-11-11T22:37:33Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Insert Class method Declaration/Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5725</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5725"/>
		<updated>2008-11-11T22:37:13Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Clipboard History */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5724</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5724"/>
		<updated>2008-11-11T22:36:54Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Window docking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5723</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5723"/>
		<updated>2008-11-11T22:35:59Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Search Dialog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Code::Blocks_Plugins&amp;diff=5709</id>
		<title>Code::Blocks Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Code::Blocks_Plugins&amp;diff=5709"/>
		<updated>2008-10-07T18:36:18Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Contrib Plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: User Documentation]]&lt;br /&gt;
Code::Blocks' features can be extend by using '''plugins'''. Plugins listed here are divided into two categories: ''core'' and ''contrib''.&lt;br /&gt;
&lt;br /&gt;
=== Core Plugins ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''[[Autosave plugin|Autosave]]'''&lt;br /&gt;
&lt;br /&gt;
:Saves project files between intervals.&lt;br /&gt;
&lt;br /&gt;
'''[[Class Wizard plugin|Class Wizard]]'''&lt;br /&gt;
&lt;br /&gt;
:Provides wizard for creating new classes.&lt;br /&gt;
&lt;br /&gt;
'''[[Code Completion plugin|Code Completion]]'''&lt;br /&gt;
&lt;br /&gt;
:Provides code completion functionality and class browser.&lt;br /&gt;
&lt;br /&gt;
'''[[Compiler plugin|Compiler]]'''&lt;br /&gt;
&lt;br /&gt;
:Provides support for various compilers in one interface.&lt;br /&gt;
&lt;br /&gt;
'''[[Debugger plugin|Debugger]]'''&lt;br /&gt;
&lt;br /&gt;
:Provides support for various debuggers in one interface.&lt;br /&gt;
&lt;br /&gt;
'''[[File Extension Handler plugin|File Extensions Handler]]'''&lt;br /&gt;
&lt;br /&gt;
:Adds extra file extension handlers.&lt;br /&gt;
&lt;br /&gt;
'''[[Open Files List plugin|Open Files List]]'''&lt;br /&gt;
&lt;br /&gt;
:Manages a list of all opened files (editors).&lt;br /&gt;
&lt;br /&gt;
'''[[Projects Importer plugin|Projects Importer]]'''&lt;br /&gt;
&lt;br /&gt;
:Imports projects from other IDE's, e.g. MS Visual Studio and DevC++.&lt;br /&gt;
&lt;br /&gt;
'''[[Scripted Wizard plugin|Scripted Wizard]]'''&lt;br /&gt;
&lt;br /&gt;
:Provides scripted wizard functionality.&lt;br /&gt;
&lt;br /&gt;
'''[[Source Code Formatter plugin|Source Code Formatter]]'''&lt;br /&gt;
&lt;br /&gt;
:Formats source code files with specific style.&lt;br /&gt;
&lt;br /&gt;
'''[[To-Do List plugin|To-Do List]]'''&lt;br /&gt;
&lt;br /&gt;
:Adds to-do items to source code.&lt;br /&gt;
&lt;br /&gt;
'''[[WinXP Look'n'Feel plugin|WinXP Look'n'Feel]]'''&lt;br /&gt;
&lt;br /&gt;
:Creates manifest file which enables the version 6.0 of the Common Controls on Windows XP.&lt;br /&gt;
&lt;br /&gt;
=== Contrib Plugins ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''[[AutoVersioning|Auto Versioning]]'''&lt;br /&gt;
&lt;br /&gt;
:Helps you keep track of your project version and status.&lt;br /&gt;
&lt;br /&gt;
'''[[Browse Tracker plugins|Browse Tracker]]'''&lt;br /&gt;
&lt;br /&gt;
:Browse to previous source positions.&lt;br /&gt;
&lt;br /&gt;
'''[[C::B Games plugin|C::B Games]]'''&lt;br /&gt;
&lt;br /&gt;
:Games in a integrated development environment? You bet.&lt;br /&gt;
&lt;br /&gt;
'''[[Code Profiler plugin|Code Profiler]]'''&lt;br /&gt;
&lt;br /&gt;
:Provides graphical interface to GNU GProf profiler.&lt;br /&gt;
&lt;br /&gt;
'''[[Code Snippets plugin|Code Snippets]]'''&lt;br /&gt;
&lt;br /&gt;
:Manages small pieces of code (i.e. snippets).&lt;br /&gt;
&lt;br /&gt;
'''[[Code Statistics plugin|Code Statistics]]'''&lt;br /&gt;
&lt;br /&gt;
:Shows various statistics from source code files.&lt;br /&gt;
&lt;br /&gt;
'''[[Copy Strings to Clipboard plugin|Copy Strings to Clipboard]]'''&lt;br /&gt;
&lt;br /&gt;
:Copies literal strings from the current editor to clipboard.&lt;br /&gt;
&lt;br /&gt;
'''[[DevPak Installer plugin|DevPak Installer]]'''&lt;br /&gt;
&lt;br /&gt;
:Installs and updates DevC++ DevPaks.&lt;br /&gt;
&lt;br /&gt;
'''[[DragScroll plugin|DragScroll]]'''&lt;br /&gt;
&lt;br /&gt;
:Enables dragging and scrolling with mouse.&lt;br /&gt;
&lt;br /&gt;
'''[[Environment Variables plugin|Environment Variables]]'''&lt;br /&gt;
&lt;br /&gt;
:Sets environment variables within the focus of Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
'''[[Help plugin]]'''&lt;br /&gt;
&lt;br /&gt;
:Integrates third-party help files to the interface.&lt;br /&gt;
&lt;br /&gt;
'''[[HexEditor plugin]]'''&lt;br /&gt;
&lt;br /&gt;
:Opens files in a Code::Blocks integrated HexEditor.&lt;br /&gt;
&lt;br /&gt;
'''[[Keyboard Shortcuts plugin|Keyboard Shortcuts]]'''&lt;br /&gt;
&lt;br /&gt;
:Manages menu shortcuts.&lt;br /&gt;
&lt;br /&gt;
'''[[Koders plugin|Koders]]'''&lt;br /&gt;
&lt;br /&gt;
:Queries the Koders webpage for keywords.&lt;br /&gt;
&lt;br /&gt;
'''[[RegEx Testbed plugin|RegEx Testbed]]'''&lt;br /&gt;
&lt;br /&gt;
:Regular expressions testbed.&lt;br /&gt;
&lt;br /&gt;
'''[[Source Exporter plugin|Source Exporter]]'''&lt;br /&gt;
&lt;br /&gt;
:Exports source code files to other formats such as HTML and PDF.&lt;br /&gt;
&lt;br /&gt;
'''[[Symbol Table plugin|Symbol Table]]'''&lt;br /&gt;
&lt;br /&gt;
:A simple graphical interface to the GNU symbol table displayer (nm).&lt;br /&gt;
&lt;br /&gt;
'''[[ThreadSearch]]'''&lt;br /&gt;
&lt;br /&gt;
:Multi-threaded 'Search in files' with preview window.&lt;br /&gt;
&lt;br /&gt;
'''[[Valgrind plugin|Valgrind]]'''&lt;br /&gt;
&lt;br /&gt;
:Valgrind analysis tools integration.&lt;br /&gt;
&lt;br /&gt;
'''[[wxSmith plugin|wxSmith]]'''&lt;br /&gt;
&lt;br /&gt;
:RAD tool for creating wxWidgets dialogs.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Code::Blocks_command_line_arguments&amp;diff=5706</id>
		<title>Code::Blocks command line arguments</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Code::Blocks_command_line_arguments&amp;diff=5706"/>
		<updated>2008-10-01T11:39:18Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Command line arguments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: User Documentation]]&lt;br /&gt;
== Using command line arguments ==&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
# Find the Code::Blocks shortcut in the Desktop or Start menu.&lt;br /&gt;
# Right click on the icon and select Properties.&lt;br /&gt;
# Select the Shortcut tab.&lt;br /&gt;
# Append the command line arguments you want to use to the end of the Target text (behind the quote mark).&lt;br /&gt;
# Run Code::Blocks by using the shortcut you edited.&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;C:\Program Files\CodeBlocks\codeblocks.exe&amp;quot; /na /nd&lt;br /&gt;
&lt;br /&gt;
=== *nix ===&lt;br /&gt;
&lt;br /&gt;
# Launch a terminal client, such as XTerm, Gnome Terminal or Konsole.&lt;br /&gt;
# Type &amp;quot;codeblocks&amp;quot; and then append the command line arguments you want to use.&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
&lt;br /&gt;
 codeblocks --no-splash-screen --debug-log&lt;br /&gt;
&lt;br /&gt;
== Command line arguments ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
! Argument &lt;br /&gt;
! Function&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;lt;filename&amp;gt;''&lt;br /&gt;
| Specifies the project *.cbp filename or workspace *.workspace filename. For instance ''&amp;lt;filename&amp;gt;'' may be ''c:\some\where\a\project.cbp''. Place this argument at end of command line, just before output redirection if any.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--file='''''&amp;lt;filename&amp;gt;[:line]''&lt;br /&gt;
| Open file in Code::Blocks and optionally jump to a specific line.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/h''', '''--help''', '''/?''', '''--?'''&lt;br /&gt;
| Shows a help message about the command line arguments.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/na''', '''--no-check-associations'''&lt;br /&gt;
| Don't perform any file association checks (Windows only).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/nd''', '''--no-dde'''&lt;br /&gt;
| Don't start a [http://en.wikipedia.org/wiki/Dynamic_Data_Exchange DDE] server (Windows only).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/ns''', '''--no-splash-screen'''&lt;br /&gt;
| Hides the splash screen when the application is loading.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/d''', '''--debug-log'''&lt;br /&gt;
| Display application's debug log.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--prefix='''''&amp;lt;str&amp;gt;''&lt;br /&gt;
| Sets the shared data directory prefix.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/p''', '''--personality='''''&amp;lt;str&amp;gt;'', '''--profile='''''&amp;lt;str&amp;gt;''&lt;br /&gt;
| Sets the [[Personalities|personality]] to use. You can use ''ask'' as the parameter to list available personalities.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--rebuild'''&lt;br /&gt;
| Clean and build the project / workspace.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--build'''&lt;br /&gt;
| Build the project / workspace.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--target='''''&amp;lt;str&amp;gt;''&lt;br /&gt;
| Sets target for batch build. For example --target=&amp;quot;Release&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--no-batch-window-close'''&lt;br /&gt;
| Keeps the batch log window visible after the batch build has completed.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--batch-build-notify'''&lt;br /&gt;
| Shows a message after the batch build has completed.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''&amp;gt;''' ''&amp;lt;build log file&amp;gt;''&lt;br /&gt;
| Placed in the very last position of command line, this may be used to redirect standard output to log file, this is not a codeblock option as such, but just a DOS/*nix shell usual standard output redirection&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Code::Blocks_command_line_arguments&amp;diff=5705</id>
		<title>Code::Blocks command line arguments</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Code::Blocks_command_line_arguments&amp;diff=5705"/>
		<updated>2008-10-01T11:39:08Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Command line arguments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: User Documentation]]&lt;br /&gt;
== Using command line arguments ==&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
# Find the Code::Blocks shortcut in the Desktop or Start menu.&lt;br /&gt;
# Right click on the icon and select Properties.&lt;br /&gt;
# Select the Shortcut tab.&lt;br /&gt;
# Append the command line arguments you want to use to the end of the Target text (behind the quote mark).&lt;br /&gt;
# Run Code::Blocks by using the shortcut you edited.&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;C:\Program Files\CodeBlocks\codeblocks.exe&amp;quot; /na /nd&lt;br /&gt;
&lt;br /&gt;
=== *nix ===&lt;br /&gt;
&lt;br /&gt;
# Launch a terminal client, such as XTerm, Gnome Terminal or Konsole.&lt;br /&gt;
# Type &amp;quot;codeblocks&amp;quot; and then append the command line arguments you want to use.&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
&lt;br /&gt;
 codeblocks --no-splash-screen --debug-log&lt;br /&gt;
&lt;br /&gt;
== Command line arguments ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
! Argument &lt;br /&gt;
! Function&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;lt;filename&amp;gt;''&lt;br /&gt;
| Specifies the project *.cbp filename or workspace *.workspace filename. For instance ''&amp;lt;filename&amp;gt;'' may be ''c:\some\where\a\project.cbp''. Place this argument at end of command line, just before output redirection if any.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--file='''''&amp;lt;filename&amp;gt;[:line]''&lt;br /&gt;
| Open file in Code::Blocks and optionally jump to a specific line.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/h''', '''--help''','''/?''', '''--?'''&lt;br /&gt;
| Shows a help message about the command line arguments.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/na''', '''--no-check-associations'''&lt;br /&gt;
| Don't perform any file association checks (Windows only).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/nd''', '''--no-dde'''&lt;br /&gt;
| Don't start a [http://en.wikipedia.org/wiki/Dynamic_Data_Exchange DDE] server (Windows only).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/ns''', '''--no-splash-screen'''&lt;br /&gt;
| Hides the splash screen when the application is loading.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/d''', '''--debug-log'''&lt;br /&gt;
| Display application's debug log.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--prefix='''''&amp;lt;str&amp;gt;''&lt;br /&gt;
| Sets the shared data directory prefix.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/p''', '''--personality='''''&amp;lt;str&amp;gt;'', '''--profile='''''&amp;lt;str&amp;gt;''&lt;br /&gt;
| Sets the [[Personalities|personality]] to use. You can use ''ask'' as the parameter to list available personalities.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--rebuild'''&lt;br /&gt;
| Clean and build the project / workspace.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--build'''&lt;br /&gt;
| Build the project / workspace.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--target='''''&amp;lt;str&amp;gt;''&lt;br /&gt;
| Sets target for batch build. For example --target=&amp;quot;Release&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--no-batch-window-close'''&lt;br /&gt;
| Keeps the batch log window visible after the batch build has completed.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--batch-build-notify'''&lt;br /&gt;
| Shows a message after the batch build has completed.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''&amp;gt;''' ''&amp;lt;build log file&amp;gt;''&lt;br /&gt;
| Placed in the very last position of command line, this may be used to redirect standard output to log file, this is not a codeblock option as such, but just a DOS/*nix shell usual standard output redirection&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5704</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5704"/>
		<updated>2008-09-30T14:08:17Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Incremental Search */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added also to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5703</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5703"/>
		<updated>2008-09-30T14:05:52Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Show value of defines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added also to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET) Already implemented.&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5702</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5702"/>
		<updated>2008-09-30T14:05:21Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Block Select Mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added also to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. --[[User:Mariocup|Mariocup]] This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5701</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5701"/>
		<updated>2008-09-30T14:04:23Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Block Select Mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added also to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array. This features is already implemented.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
- Isn't that already supported? (the &amp;quot;Stop&amp;quot; button first interrupts the process and on second-click stops it) - [[User:Mandrav|Mandrav]] 10:06, 13 April 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Code::Blocks_command_line_arguments&amp;diff=5700</id>
		<title>Code::Blocks command line arguments</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Code::Blocks_command_line_arguments&amp;diff=5700"/>
		<updated>2008-09-30T10:40:45Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Command line arguments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: User Documentation]]&lt;br /&gt;
== Using command line arguments ==&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
# Find the Code::Blocks shortcut in the Desktop or Start menu.&lt;br /&gt;
# Right click on the icon and select Properties.&lt;br /&gt;
# Select the Shortcut tab.&lt;br /&gt;
# Append the command line arguments you want to use to the end of the Target text (behind the quote mark).&lt;br /&gt;
# Run Code::Blocks by using the shortcut you edited.&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;C:\Program Files\CodeBlocks\codeblocks.exe&amp;quot; /na /nd&lt;br /&gt;
&lt;br /&gt;
=== *nix ===&lt;br /&gt;
&lt;br /&gt;
# Launch a terminal client, such as XTerm, Gnome Terminal or Konsole.&lt;br /&gt;
# Type &amp;quot;codeblocks&amp;quot; and then append the command line arguments you want to use.&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
&lt;br /&gt;
 codeblocks --no-splash-screen --debug-log&lt;br /&gt;
&lt;br /&gt;
== Command line arguments ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
! Argument &lt;br /&gt;
! Function&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;lt;filename&amp;gt;''&lt;br /&gt;
| Specifies the project *.cbp filename or workspace *.workspace filename. For instance ''&amp;lt;filename&amp;gt;'' may be ''c:\some\where\a\project.cbp''. Place this argument at end of command line, just before output redirection if any.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--file='''''&amp;lt;filename&amp;gt;[:line]''&lt;br /&gt;
| Open file in Code::Blocks and optionally jump to a specific line.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/h''', '''--help'''&lt;br /&gt;
| Shows a help message about the command line arguments.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/na''', '''--no-check-associations'''&lt;br /&gt;
| Don't perform any file association checks (Windows only).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/nd''', '''--no-dde'''&lt;br /&gt;
| Don't start a [http://en.wikipedia.org/wiki/Dynamic_Data_Exchange DDE] server (Windows only).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/ns''', '''--no-splash-screen'''&lt;br /&gt;
| Hides the splash screen when the application is loading.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/d''', '''--debug-log'''&lt;br /&gt;
| Display application's debug log.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--prefix='''''&amp;lt;str&amp;gt;''&lt;br /&gt;
| Sets the shared data directory prefix.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''/p''', '''--personality='''''&amp;lt;str&amp;gt;'', '''--profile='''''&amp;lt;str&amp;gt;''&lt;br /&gt;
| Sets the [[Personalities|personality]] to use. You can use ''ask'' as the parameter to list available personalities.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--rebuild'''&lt;br /&gt;
| Clean and build the project / workspace.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--build'''&lt;br /&gt;
| Build the project / workspace.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--target='''''&amp;lt;str&amp;gt;''&lt;br /&gt;
| Sets target for batch build. For example --target=&amp;quot;Release&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--no-batch-window-close'''&lt;br /&gt;
| Keeps the batch log window visible after the batch build has completed.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''--batch-build-notify'''&lt;br /&gt;
| Shows a message after the batch build has completed.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''&amp;gt;''' ''&amp;lt;build log file&amp;gt;''&lt;br /&gt;
| Placed in the very last position of command line, this may be used to redirect standard output to log file, this is not a codeblock option as such, but just a DOS/*nix shell usual standard output redirection&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Scripting_commands&amp;diff=5518</id>
		<title>Scripting commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Scripting_commands&amp;diff=5518"/>
		<updated>2008-06-11T06:09:03Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* CompileOptionsBase */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripting Code::Blocks]]&lt;br /&gt;
Scripting is no good if all you can do is use the scripting language's built-in commands only. The host application (Code::Blocks) needs to expose parts of its internals to scripts, so scripts can use and control the host.&lt;br /&gt;
&lt;br /&gt;
Code::Blocks has exposed a very large chunk of its SDK to scripts. This makes scripting in Code::Blocks nearly as powerful as native code (C++).&lt;br /&gt;
&lt;br /&gt;
In this page all the exported constants, functions and classes are documented as a quick reference. For detailed documentation on each function/class, refer to the Code::Blocks SDK documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''NOTE: Please remember that [http://www.squirrel-lang.org Squirrel] is typeless. Data types mentioned below are only used for documentation purposes.''&lt;br /&gt;
&lt;br /&gt;
''NOTE: Please keep in mind that if a function has default parameters in C++ (which can be ommitted), you still have to type them for scripts (for e.g. exposed wxWidgets functionality). This means you *have* to use e.g. wxFileName.GetFullPath(wxPATH_NATIVE) instead of e.g only wxFileName.GetFullPath().&lt;br /&gt;
&lt;br /&gt;
== Application object ==&lt;br /&gt;
The application object is accessed through the variable named '''&amp;lt;tt&amp;gt;App&amp;lt;/tt&amp;gt;'''. Currently it has no bound functions...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global functions ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Log || wxString || logs to the application log&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || LogDebug || wxString || logs to the debug log&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || LogWarning || wxString || logs a warning&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || LogError || wxString || logs an error&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Message || wxString,wxString,int || arg1=msg, arg2=caption, arg3=buttons; see API docs for cbMessageBox()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowMessage || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowWarning || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowError || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowInfo || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || ReplaceMacros || wxString,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ScriptingManager* || GetScriptingManager ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectManager* || GetProjectManager ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EditorManager* || GetEditorManager ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ConfigManager* || GetConfigManager ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UserVariableManager* || GetUserVariableManager || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CompilerFactory* || GetCompilerFactory ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetArrayFromString ||  wxString,wxString,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetStringFromArray ||  wxArrayString,wxString,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || EscapeSpaces ||  wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || UnixFilename || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| FileType || FileTypeOf || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || URLEncode || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || NotifyMissingFile || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetPlatformsFromString || wxString  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString  || GetStringFromPlatforms || int,bool||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void|| Display || wxString,wxString,int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFolder || int || see API docs for ConfigManager::GetFolder()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || LocateDataFile|| wxString, int || see API docs for ConfigManager::LocateDataFile()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || InstallPlugin || wxString,bool, bool || Install a binary plugin&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Include || wxString || similar to C/C++ ''&amp;lt;tt&amp;gt;#include &amp;quot;name&amp;quot;&amp;lt;/tt&amp;gt;''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsNull || void* ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || _T || const char* || basically this is the wxString constructor&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || wxLaunchDefaultBrowser || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxColour || wxGetColourFromUser || [wxColour] ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| long || wxGetNumberFromUser || wxString,wxString,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || wxGetPasswordFromUser || wxString,wxString,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || wxGetTextFromUser || wxString,wxString,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ScriptingManager ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RegisterScriptMenu || wxString, wxString || registers the script file (arg1) under a menu item (arg2).&lt;br /&gt;
e.g. &amp;lt;tt&amp;gt;GetScriptingManager().RegisterScriptMenu(_T(&amp;quot;sample.script&amp;quot;), _T(&amp;quot;Scripts/Sample script&amp;quot;))&amp;lt;/tt&amp;gt;;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes about the &amp;lt;tt&amp;gt;RegisterScriptMenu&amp;lt;/tt&amp;gt; function:&amp;lt;br/&amp;gt;&lt;br /&gt;
* The second argument (menu item) is a string containing the full menu path to create the menu item. The path separator is a slash (/). For example, the string &amp;quot;Settings/Sample menu/Sample item&amp;quot; would create the menu path &amp;quot;Settings-&amp;gt;Sample menu-&amp;gt;Sample item&amp;quot;.&lt;br /&gt;
* When each part of the path is evaluated, it is checked whether it starts with a number followed by a colon (:). If so then this is considered to be a menu index in the parent menu and the menu is inserted at that index instead of being appended to the menu. The number and colon are removed from the string.&lt;br /&gt;
* If the menu item starts with a dash (-), then a separator line is prepended in the menu before the menu item (e.g. &amp;quot;Scripts/'''-'''Sample script&amp;quot;).&lt;br /&gt;
* For your convenience, all menu items created using this function have one extra functionality: if you keep the SHIFT key pressed while clicking on any of these &amp;quot;script menu items&amp;quot;, instead of running the attached script, Code::Blocks will open it in the editor for you to view/edit :).&lt;br /&gt;
* Have a look at the [[Startup script#Example|startup script example]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ConfigManager ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Read || int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Read || bool,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| float || Read || float,float ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Read || wxString,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Write || int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Write || bool,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Write || float,float ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Write || wxString,wxString[,bool] ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ProjectManager ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDefaultPath || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetDefaultPath || (const wxString&amp;amp; path) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || GetActiveProject || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetProject || (cbProject* project, bool refresh = true) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || LoadWorkspace || (const wxString&amp;amp; filename = DEFAULT_WORKSPACE)|| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveWorkspace || ( )  || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveWorkspaceAs || (const wxString&amp;amp; filename) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseWorkspace || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || IsOpen || (const wxString&amp;amp; filename) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || LoadProject || (const wxString&amp;amp; filename, bool activateIt = true) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveProject || (cbProject* project) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveProjectAs || (cbProject* project) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveActiveProject || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveActiveProjectAs || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAllProjects || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseProject || (cbProject* project, bool dontsave = false, bool refresh = true) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseActiveProject || (bool dontsave = false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseAllProjects || (bool dontsave = false) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || NewProject || (const wxString&amp;amp; filename = wxEmptyString) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || AddFileToProject || (const wxString&amp;amp; filename, cbProject* project = 0L, int target = -1) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || AskForBuildTargetIndex || (cbProject* project = 0L) || &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RebuildTree || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || AddProjectDependency || (cbProject* base, cbProject* dependsOn) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveProjectDependency || (cbProject* base, cbProject* doesNotDependOn) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ClearProjectDependencies || (cbProject* base) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveProjectFromAllDependencies || (cbProject* base) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectsArray* || GetDependenciesForProject || (cbProject* base) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ConfigureProjectDependencies || (cbProject* base = 0) || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== EditorManager ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Configure || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || New || (const wxString&amp;amp; newFileName = wxEmptyString) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || Open || (const wxString&amp;amp; filename) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || IsBuiltinOpen || (const wxString&amp;amp; filename) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || GetBuiltinEditor || (const wxString&amp;amp; filename)|(int index) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || GetBuiltinActiveEditor || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EditorBase* || GetActiveEditor || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ActivateNext || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ActivatePrevious || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SwapActiveHeaderSource || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseActive || (bool dontsave = false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Close || (const wxString&amp;amp; filename,bool dontsave = false)|(int index,bool dontsave = false),(EditorBase* editor,bool dontsave = false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseAll || (bool dontsave=false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Save || (const wxString&amp;amp; filename)|(int index)||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveActive || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAs || (int index) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveActiveAs || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAll || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || ShowFindDialog || (bool replace,  bool explicitly_find_in_files = false),bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== UserVariableManager ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Exists || (const wxString&amp;amp; variable) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== IO namespace ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || DirectoryExists || (const wxString&amp;amp; dir) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || SelectDirectory || (const wxString&amp;amp; message, const wxString&amp;amp; initialPath, bool showCreateDirButton) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''CreateDirectory''' || (const wxString&amp;amp; full_path, int perms) || arg1=dir, arg2=permissions&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''RemoveDirectory''' || (const wxString&amp;amp; src) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''CopyFile''' ||(const wxString&amp;amp; src, const wxString&amp;amp; dst, bool overwrite) || src,dest,overwrite&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''RenameFile''' || (const wxString&amp;amp; src, const wxString&amp;amp; dst) || old,new&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''RemoveFile''' || (const wxString&amp;amp; src) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || FileExists || (const wxString&amp;amp; file) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || SelectFile || (const wxString&amp;amp; title, const wxString&amp;amp; defaultFile, const wxString&amp;amp; filter) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || ReadFileContents || (const wxString&amp;amp; filename) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''WriteFileContents''' || (const wxString&amp;amp; filename, const wxString&amp;amp; contents) || filename,contents&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || '''Execute''' || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || '''ExecuteAndGetOutput''' || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetCwd || ( )  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCwd || (const wxString&amp;amp; dir) || directory (currently working directory)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The namespaces are accesses by prepending it's name (e.g. &amp;quot;IO.&amp;quot;) to the scripting function, e.g. &amp;quot;IO.DirectoryExists(...)&amp;quot;. &amp;quot;::&amp;quot; is only used when declaring the members of the namespace.&lt;br /&gt;
The functions in bold are going through the scripts security layer so there is no guarantee calling them will succeed. You should always examine the return value...&lt;br /&gt;
There exists one constant too, named ''allowInsecureScripts'', which allow you to test whether Code::Blocks was compiled with the functions going through the security layer.&lt;br /&gt;
&lt;br /&gt;
== CompilerFactory ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsValidCompilerID || (const wxString&amp;amp; id) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetCompilerIndex || (const wxString&amp;amp; id) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDefaultCompilerID || ( )  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetCompilerVersionString ||  (const wxString&amp;amp; Id) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CompilerInheritsFrom || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== wxString ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator+ ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator&amp;lt; ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator&amp;lt;= ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator&amp;gt;= ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator&amp;gt; ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Find || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Matches || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddChar || char ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| char || GetChar || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsEmpty ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Length ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || length ||  || same as Length()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || len ||  || same as Length()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || size ||  || same as Length()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Lower ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || LowerCase ||  || same as Lower()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || MakeLower ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Upper ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || UpperCase ||  || same as Upper()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || MakeUpper ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Mid || int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Remove || int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveLast ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Replace || wxString,wxString[,bool] ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Right || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || AfterFirst || char ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || AfterLast || char ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || BeforeFirst || char ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || BeforeLast || char ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
''NOTE: Is instantiated in a script using: local my_wxstring = ::wxString();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== wxArrayString ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Add || wxString, size_t || arg1=string, arg2=number of copies to add&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Clear ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetCount ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Item || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
''NOTE: Is instantiated in a script using: local my_wxarraystring = ::wxArrayString();&lt;br /&gt;
&lt;br /&gt;
== wxColour ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| byte || Red || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| byte || Green || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| byte || Blue || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Set || byte,byte,byte ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
''NOTE: Is instantiated in a script using: local my_wxcolour = ::wxColour();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ProjectFile ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddBuildTarget || (const wxString&amp;amp; targetName)|| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RenameBuildTarget || (const wxString&amp;amp; oldTargetName, const wxString&amp;amp; newTargetName) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveBuildTarget || (const wxString&amp;amp; targetName)|| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetBaseName || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetObjName || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetObjName || (const wxString&amp;amp; targetName) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || GetParentProject || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString|| GetCustomBuildCommand||  (const wxString&amp;amp; compilerId) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void  || SetCustomBuildCommand || (const wxString&amp;amp; compilerId, const wxString&amp;amp; newBuildCommand) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetUseCustomBuildCommand||  (const wxString&amp;amp; compilerId) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void  || SetUseCustomBuildCommand ||  (const wxString&amp;amp; compilerId, bool useCustomBuildCommand) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxFileName || file ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || relativeFilename ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || relativeToCommonTopLevelPath ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || compile ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || link ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || weight ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || compilerVar ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CompileOptionsBase ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddPlatform || (int platform) || windows,unix,mac&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemovePlatform || (int platform) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetPlatforms || (int platform) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GetPlatforms || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SupportsCurrentPlatform || (int platform) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetLinkerOptions || (const wxArrayString&amp;amp; linkerOpts) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetLinkLibs || (const wxArrayString&amp;amp; linkLibs) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCompilerOptions || (const wxArrayString&amp;amp; compilerOpts) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetIncludeDirs || (const wxArrayString&amp;amp; includeDirs) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetResourceIncludeDirs || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetLibDirs || (const wxArrayString&amp;amp; libDirs) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCommandsBeforeBuild || (const wxArrayString&amp;amp; commands) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCommandsAfterBuild || (const wxArrayString&amp;amp; commands) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetLinkerOptions ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetLinkLibs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetCompilerOptions ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetIncludeDirs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetResourceIncludeDirs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetLibDirs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetCommandsBeforeBuild ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetCommandsAfterBuild ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetModified ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetModified || (bool modified) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddLinkerOption || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddLinkLib || (const wxString&amp;amp; lib) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddCompilerOption || (const wxString&amp;amp; option)||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddIncludeDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddResourceIncludeDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddLibDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddCommandsBeforeBuild || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddCommandsAfterBuild || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveLinkerOption || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveLinkLib || (const wxString&amp;amp; lib) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveCompilerOption || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveIncludeDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveResourceIncludeDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveLibDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveCommandsBeforeBuild || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveCommandsAfterBuild || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetAlwaysRunPostBuildSteps ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetAlwaysRunPostBuildSteps || (bool always) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetBuildScripts || (const wxArrayString&amp;amp; scripts) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetBuildScripts || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddBuildScript || (const wxString&amp;amp; script) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveBuildScript || (const wxString&amp;amp; script) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SetVar || (const wxString&amp;amp; key, const wxString&amp;amp; value, bool onlyIfExists = false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetVar || (const wxString&amp;amp; key) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || UnsetVar || (const wxString&amp;amp; key) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || UnsetAllVars || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CompileTargetBase ==&lt;br /&gt;
Extends CompileOptionsBase.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTargetFilenameGenerationPolicy || enum, enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetTitle ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTitle || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetOutputFilename || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetWorkingDir || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetObjectOutput || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetDepsOutput || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OptionsRelation || GetOptionRelation || OptionsRelationType ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetOptionRelation || OptionsRelationType,OptionsRelation ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetWorkingDir ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetObjectOutput ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDepsOutput ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetOutputFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || SuggestOutputFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetExecutableFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDynamicLibFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDynamicLibDefFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetStaticLibFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetBasePath ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTargetType || TargetType ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| TargetType || GetTargetType ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetExecutionParameters ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetExecutionParameters || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetHostApplication ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetHostApplication || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCompilerID || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetCompilerID ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetMakeCommandFor || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetMakeCommandFor || enum,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || MakeCommandsModified ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ProjectBuildTarget ==&lt;br /&gt;
Extends CompileTargetBase.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || GetParentProject ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFullTitle ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetExternalDeps ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetExternalDeps || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetAdditionalOutputFiles || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetAdditionalOutputFiles ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetIncludeInTargetAll ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetIncludeInTargetAll || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetCreateDefFile ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCreateDefFile || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetCreateStaticLib ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCreateStaticLib || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetUseConsoleRunner ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetUseConsoleRunner || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== cbProject ==&lt;br /&gt;
Extends CompileTargetBase.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetModified ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetModified || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetMakefile ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetMakefile || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsMakefileCustom ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetMakefileCustom || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseAllFiles || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAllFiles ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Save ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveLayout ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || LoadLayout ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || ShowOptions ||  || Display the project options dialog&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetCommonTopLevelPath ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetFilesCount ||  || Returns number of files in the project&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectFile* || GetFile || int || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectFile* || GetFileByFilename || wxString,bool,bool || See API docs for cbProject::GetFileByName&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RemoveFile || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectFile* || AddFile || wxString|int,wxString,bool,bool,int || See API docs for cbProject::AddFile&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetBuildTargetsCount ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectBuildTarget* || GetBuildTarget || wxString|int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectBuildTarget* || AddBuildTarget || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RenameBuildTarget || wxString|int,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectBuildTarget* || DuplicateBuildTarget || wxString|int,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RemoveBuildTarget || wxString|int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || ExportTargetAsProject || wxString|int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || BuildTargetValid || wxString|bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFirstValidBuildTargetName || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetDefaultExecuteTarget || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDefaultExecuteTarget || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SetActiveBuildTarget || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetActiveBuildTarget ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || SelectTarget || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectBuildTarget* || GetCurrentlyCompilingTarget ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCurrentlyCompilingTarget || ProjectBuildTarget* ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PCHMode || GetModeForPCH ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetModeForPCH || PCHMode ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetExtendedObjectNamesGeneration || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetExtendedObjectNamesGeneration || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetNotes || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString  || GetNotes || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetShowNotesOnLoad || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool ||  GetShowNotesOnLoad || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowNotes || bool,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddToExtensions || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || DefineVirtualBuildTarget || wxString,wxArrayString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || HasVirtualBuildTarget|| wxSring ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RemoveVirtualBuildTarget|| wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetVirtualBuildTargets|| ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetVirtualBuildTargetGroup || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetExpandedVirtualBuildTargetGroup|| wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CanAddToVirtualBuildTarget || wxSring,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTitle || wxSring ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== EditorBase ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetFilename || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetShortName ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetModified ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetModified || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetTitle ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTitle || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Activate ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Close ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Save ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsBuiltinEditor ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || ThereAreOthers ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoLine || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ToggleBreakpoint || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || HasBreakpoint || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoNextBreakpoint ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoPreviousBreakpoint ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ToggleBookmark || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || HasBookmark || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoNextBookmark ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoPreviousBookmark ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Undo ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Redo ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Cut ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Copy ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Paste ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CanUndo ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CanRedo ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CanPaste ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || HasSelection ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== cbEditor ==&lt;br /&gt;
Extends EditorBase.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetEditorTitle || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectFile* || GetProjectFile ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Save ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || FoldAll ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || UnfoldAll ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ToggleAllFolds ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || FoldBlockFromLine || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || UnfoldBlockFromLine || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ToggleFoldBlockFromLine || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetLineIndentInSpaces || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetLineIndentString || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Touch ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Reload || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Print || bool,PrintColourMode,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AutoComplete ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || AddBreakpoint || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RemoveBreakpoint || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetText || wxString || this is not present in cbEditor; included to help scripts edit text&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetText ||  || this is not present in cbEditor; included to help scripts edit text&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Constant&lt;br /&gt;
!Type&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM || int || this defines the platform Code::Blocks is currently running on. It is equal to only one of the following PLATFORM_* constants&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_MSW || int || All Windows platforms&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_GTK || int || All GTK platforms (Linux, BSD, Solaris, Darwin, etc.)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_MAC || int || All Mac platforms&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_OS2 || int || OS/2 platform&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_X11 || int || All X11 platforms&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_UNKNOWN || int || Unknown platform. Please inform us if PLATFORM == PLATFORM_UNKNOWN so we can make this platform known too ;)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''Message dialog flags'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxOK || int || Flag for Message() 's third argument (flags).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxYES_NO || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxCANCEL || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxICON_QUESTION || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxICON_INFORMATION || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxICON_WARNING || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxICON_ERROR || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''Message dialog return values'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxID_OK || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxID_YES || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxID_NO || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxID_CANCEL || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum OptionsRelationType'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortCompilerOptions || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortLinkerOptions || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortIncludeDirs || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortLibDirs || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortResDirs || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum OptionsRelation'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| orUseParentOptionsOnly || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| orUseTargetOptionsOnly || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| orPrependToParentOptions || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| orAppendToParentOptions || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum TargetType'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttExecutable || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttConsoleOnly || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttStaticLib || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttDynamicLib || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttCommandsOnly || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum MakeCommand'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mcClean || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mcDistClean || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mcBuild || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mcCompileFile || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum PCHMode'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pchSourceDir || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pchObjectDir || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pchSourceFile || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum PrintScope'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| psSelection || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| psActiveEditor || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| psAllOpenEditors || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum PrintColourMode'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcmBlackAndWhite || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcmColourOnWhite || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcmInvertColours || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcmAsIs || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum TemplateOutputType'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wizProject || enum || TemplateOutputType::totProject&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wizTarget || enum || TemplateOutputType::totTarget&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wizFiles || enum || TemplateOutputType::totFiles&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wizCustom || enum || TemplateOutputType::totCustom&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''Other constants'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxFILE_SEP_PATH || wxString || Path separator. &amp;quot;\&amp;quot; for windows, &amp;quot;/&amp;quot; for all other platforms&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''File extensions (e.g. &amp;quot;cbp&amp;quot;)'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_CODEBLOCKS || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_DEVCPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_MSVC6 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_MSVC6_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_MSVC7 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_MSVC7_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_D || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_F || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_F77 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_F95 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_CPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_C || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_CC || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_CXX || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_HPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_H || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_HH || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_HXX || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_OBJECT || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_XRCRESOURCE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_STATICLIB || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_DYNAMICLIB || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_EXECUTABLE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_RESOURCE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_RESOURCEBIN || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_XML || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_SCRIPT || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''File extensions with leading dot (e.g. &amp;quot;.cbp&amp;quot;)'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_CODEBLOCKS || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_DEVCPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_MSVC6 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_MSVC6_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_MSVC7 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_MSVC7_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_D || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_F || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_F77 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_F95 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_CPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_C || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_CC || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_CXX || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_HPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_H || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_HH || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_HXX || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_OBJECT || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_XRCRESOURCE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_STATICLIB || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_DYNAMICLIB || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_EXECUTABLE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_RESOURCE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_RESOURCEBIN || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_XML || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_SCRIPT || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Scripting Code::Blocks|Scripting index]]&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Scripting_commands&amp;diff=5492</id>
		<title>Scripting commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Scripting_commands&amp;diff=5492"/>
		<updated>2008-04-27T21:20:38Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* cbProject */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripting Code::Blocks]]&lt;br /&gt;
Scripting is no good if all you can do is use the scripting language's built-in commands only. The host application (Code::Blocks) needs to expose parts of its internals to scripts, so scripts can use and control the host.&lt;br /&gt;
&lt;br /&gt;
Code::Blocks has exposed a very large chunk of its SDK to scripts. This makes scripting in Code::Blocks nearly as powerful as native code (C++).&lt;br /&gt;
&lt;br /&gt;
In this page all the exported constants, functions and classes are documented as a quick reference. For detailed documentation on each function/class, refer to the Code::Blocks SDK documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''NOTE: Please remember that [http://www.squirrel-lang.org Squirrel] is typeless. Data types mentioned below are only used for documentation purposes.''&lt;br /&gt;
&lt;br /&gt;
''NOTE: Please keep in mind that if a function has default parameters in C++ (which can be ommitted), you still have to type them for scripts (for e.g. exposed wxWidgets functionality). This means you *have* to use e.g. wxFileName.GetFullPath(wxPATH_NATIVE) instead of e.g only wxFileName.GetFullPath().&lt;br /&gt;
&lt;br /&gt;
== Application object ==&lt;br /&gt;
The application object is accessed through the variable named '''&amp;lt;tt&amp;gt;App&amp;lt;/tt&amp;gt;'''. Currently it has no bound functions...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global functions ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Log || wxString || logs to the application log&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || LogDebug || wxString || logs to the debug log&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || LogWarning || wxString || logs a warning&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || LogError || wxString || logs an error&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Message || wxString,wxString,int || arg1=msg, arg2=caption, arg3=buttons; see API docs for cbMessageBox()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowMessage || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowWarning || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowError || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowInfo || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || ReplaceMacros || wxString,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ScriptingManager* || GetScriptingManager ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectManager* || GetProjectManager ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EditorManager* || GetEditorManager ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ConfigManager* || GetConfigManager ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UserVariableManager* || GetUserVariableManager || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CompilerFactory* || GetCompilerFactory ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetArrayFromString ||  wxString,wxString,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetStringFromArray ||  wxArrayString,wxString,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || EscapeSpaces ||  wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || UnixFilename || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| FileType || FileTypeOf || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || URLEncode || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || NotifyMissingFile || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetPlatformsFromString || wxString  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString  || GetStringFromPlatforms || int,bool||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void|| Display || wxString,wxString,int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFolder || int || see API docs for ConfigManager::GetFolder()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || LocateDataFile|| wxString, int || see API docs for ConfigManager::LocateDataFile()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || InstallPlugin || wxString,bool, bool || Install a binary plugin&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Include || wxString || similar to C/C++ ''&amp;lt;tt&amp;gt;#include &amp;quot;name&amp;quot;&amp;lt;/tt&amp;gt;''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsNull || void* ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || _T || const char* || basically this is the wxString constructor&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || wxLaunchDefaultBrowser || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxColour || wxGetColourFromUser || [wxColour] ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| long || wxGetNumberFromUser || wxString,wxString,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || wxGetPasswordFromUser || wxString,wxString,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || wxGetTextFromUser || wxString,wxString,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ScriptingManager ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RegisterScriptMenu || wxString, wxString || registers the script file (arg1) under a menu item (arg2).&lt;br /&gt;
e.g. &amp;lt;tt&amp;gt;GetScriptingManager().RegisterScriptMenu(_T(&amp;quot;sample.script&amp;quot;), _T(&amp;quot;Scripts/Sample script&amp;quot;))&amp;lt;/tt&amp;gt;;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes about the &amp;lt;tt&amp;gt;RegisterScriptMenu&amp;lt;/tt&amp;gt; function:&amp;lt;br/&amp;gt;&lt;br /&gt;
* The second argument (menu item) is a string containing the full menu path to create the menu item. The path separator is a slash (/). For example, the string &amp;quot;Settings/Sample menu/Sample item&amp;quot; would create the menu path &amp;quot;Settings-&amp;gt;Sample menu-&amp;gt;Sample item&amp;quot;.&lt;br /&gt;
* When each part of the path is evaluated, it is checked whether it starts with a number followed by a colon (:). If so then this is considered to be a menu index in the parent menu and the menu is inserted at that index instead of being appended to the menu. The number and colon are removed from the string.&lt;br /&gt;
* If the menu item starts with a dash (-), then a separator line is prepended in the menu before the menu item (e.g. &amp;quot;Scripts/'''-'''Sample script&amp;quot;).&lt;br /&gt;
* For your convenience, all menu items created using this function have one extra functionality: if you keep the SHIFT key pressed while clicking on any of these &amp;quot;script menu items&amp;quot;, instead of running the attached script, Code::Blocks will open it in the editor for you to view/edit :).&lt;br /&gt;
* Have a look at the [[Startup script#Example|startup script example]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ConfigManager ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Read || int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Read || bool,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| float || Read || float,float ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Read || wxString,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Write || int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Write || bool,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Write || float,float ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Write || wxString,wxString[,bool] ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ProjectManager ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDefaultPath || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetDefaultPath || (const wxString&amp;amp; path) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || GetActiveProject || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetProject || (cbProject* project, bool refresh = true) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || LoadWorkspace || (const wxString&amp;amp; filename = DEFAULT_WORKSPACE)|| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveWorkspace || ( )  || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveWorkspaceAs || (const wxString&amp;amp; filename) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseWorkspace || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || IsOpen || (const wxString&amp;amp; filename) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || LoadProject || (const wxString&amp;amp; filename, bool activateIt = true) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveProject || (cbProject* project) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveProjectAs || (cbProject* project) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveActiveProject || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveActiveProjectAs || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAllProjects || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseProject || (cbProject* project, bool dontsave = false, bool refresh = true) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseActiveProject || (bool dontsave = false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseAllProjects || (bool dontsave = false) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || NewProject || (const wxString&amp;amp; filename = wxEmptyString) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || AddFileToProject || (const wxString&amp;amp; filename, cbProject* project = 0L, int target = -1) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || AskForBuildTargetIndex || (cbProject* project = 0L) || &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RebuildTree || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || AddProjectDependency || (cbProject* base, cbProject* dependsOn) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveProjectDependency || (cbProject* base, cbProject* doesNotDependOn) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ClearProjectDependencies || (cbProject* base) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveProjectFromAllDependencies || (cbProject* base) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectsArray* || GetDependenciesForProject || (cbProject* base) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ConfigureProjectDependencies || (cbProject* base = 0) || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== EditorManager ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Configure || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || New || (const wxString&amp;amp; newFileName = wxEmptyString) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || Open || (const wxString&amp;amp; filename) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || IsBuiltinOpen || (const wxString&amp;amp; filename) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || GetBuiltinEditor || (const wxString&amp;amp; filename)|(int index) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || GetBuiltinActiveEditor || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EditorBase* || GetActiveEditor || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ActivateNext || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ActivatePrevious || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SwapActiveHeaderSource || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseActive || (bool dontsave = false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Close || (const wxString&amp;amp; filename,bool dontsave = false)|(int index,bool dontsave = false),(EditorBase* editor,bool dontsave = false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseAll || (bool dontsave=false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Save || (const wxString&amp;amp; filename)|(int index)||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveActive || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAs || (int index) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveActiveAs || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAll || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || ShowFindDialog || (bool replace,  bool explicitly_find_in_files = false),bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== UserVariableManager ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Exists || (const wxString&amp;amp; variable) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== IO namespace ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || DirectoryExists || (const wxString&amp;amp; dir) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || SelectDirectory || (const wxString&amp;amp; message, const wxString&amp;amp; initialPath, bool showCreateDirButton) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''CreateDirectory''' || (const wxString&amp;amp; full_path, int perms) || arg1=dir, arg2=permissions&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''RemoveDirectory''' || (const wxString&amp;amp; src) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''CopyFile''' ||(const wxString&amp;amp; src, const wxString&amp;amp; dst, bool overwrite) || src,dest,overwrite&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''RenameFile''' || (const wxString&amp;amp; src, const wxString&amp;amp; dst) || old,new&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''RemoveFile''' || (const wxString&amp;amp; src) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || FileExists || (const wxString&amp;amp; file) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || SelectFile || (const wxString&amp;amp; title, const wxString&amp;amp; defaultFile, const wxString&amp;amp; filter) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || ReadFileContents || (const wxString&amp;amp; filename) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''WriteFileContents''' || (const wxString&amp;amp; filename, const wxString&amp;amp; contents) || filename,contents&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || '''Execute''' || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || '''ExecuteAndGetOutput''' || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetCwd || ( )  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCwd || (const wxString&amp;amp; dir) || directory (currently working directory)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The namespaces are accesses by prepending it's name (e.g. &amp;quot;IO.&amp;quot;) to the scripting function, e.g. &amp;quot;IO.DirectoryExists(...)&amp;quot;. &amp;quot;::&amp;quot; is only used when declaring the members of the namespace.&lt;br /&gt;
The functions in bold are going through the scripts security layer so there is no guarantee calling them will succeed. You should always examine the return value...&lt;br /&gt;
There exists one constant too, named ''allowInsecureScripts'', which allow you to test whether Code::Blocks was compiled with the functions going through the security layer.&lt;br /&gt;
&lt;br /&gt;
== CompilerFactory ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsValidCompilerID || (const wxString&amp;amp; id) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetCompilerIndex || (const wxString&amp;amp; id) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDefaultCompilerID || ( )  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetCompilerVersionString ||  (const wxString&amp;amp; Id) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CompilerInheritsFrom || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== wxString ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator+ ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator&amp;lt; ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator&amp;lt;= ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator&amp;gt;= ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator&amp;gt; ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Find || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Matches || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddChar || char ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| char || GetChar || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsEmpty ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Length ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || length ||  || same as Length()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || len ||  || same as Length()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || size ||  || same as Length()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Lower ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || LowerCase ||  || same as Lower()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || MakeLower ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Upper ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || UpperCase ||  || same as Upper()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || MakeUpper ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Mid || int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Remove || int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveLast ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Replace || wxString,wxString[,bool] ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Right || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || AfterFirst || char ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || AfterLast || char ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || BeforeFirst || char ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || BeforeLast || char ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
''NOTE: Is instantiated in a script using: local my_wxstring = ::wxString();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== wxArrayString ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Add || wxString, size_t || arg1=string, arg2=number of copies to add&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Clear ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetCount ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Item || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
''NOTE: Is instantiated in a script using: local my_wxarraystring = ::wxArrayString();&lt;br /&gt;
&lt;br /&gt;
== wxColour ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| byte || Red || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| byte || Green || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| byte || Blue || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Set || byte,byte,byte ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
''NOTE: Is instantiated in a script using: local my_wxcolour = ::wxColour();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ProjectFile ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddBuildTarget || (const wxString&amp;amp; targetName)|| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RenameBuildTarget || (const wxString&amp;amp; oldTargetName, const wxString&amp;amp; newTargetName) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveBuildTarget || (const wxString&amp;amp; targetName)|| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetBaseName || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetObjName || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetObjName || (const wxString&amp;amp; targetName) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || GetParentProject || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString|| GetCustomBuildCommand||  (const wxString&amp;amp; compilerId) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void  || SetCustomBuildCommand || (const wxString&amp;amp; compilerId, const wxString&amp;amp; newBuildCommand) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetUseCustomBuildCommand||  (const wxString&amp;amp; compilerId) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void  || SetUseCustomBuildCommand ||  (const wxString&amp;amp; compilerId, bool useCustomBuildCommand) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxFileName || file ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || relativeFilename ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || relativeToCommonTopLevelPath ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || compile ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || link ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || weight ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || compilerVar ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CompileOptionsBase ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddPlatform || (int platform) || windows,unix,mac&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemovePlatform || (int platform) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetPlatforms || (int platform) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GetPlatforms || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SupportsCurrentPlatform || (int platform) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetLinkerOptions || (const wxArrayString&amp;amp; linkerOpts) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetLinkLibs || (const wxArrayString&amp;amp; linkLibs) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCompilerOptions || (const wxArrayString&amp;amp; compilerOpts) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetIncludeDirs || (const wxArrayString&amp;amp; includeDirs) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetResourceIncludeDirs || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetLibDirs || (const wxArrayString&amp;amp; libDirs) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCommandsBeforeBuild || (const wxArrayString&amp;amp; commands) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCommandsAfterBuild || (const wxArrayString&amp;amp; commands) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetLinkerOptions ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetLinkLibs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetCompilerOptions ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetIncludeDirs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetResourceIncludeDirs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetLibDirs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetCommandsBeforeBuild ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetCommandsAfterBuild ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetModified ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetModified || (bool modified) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddLinkerOption || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddLinkLib || (const wxString&amp;amp; lib) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddCompilerOption || (const wxString&amp;amp; option)||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddIncludeDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddResourceIncludeDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddLibDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddCommandsBeforeBuild || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddCommandsAfterBuild || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveLinkerOption || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveLinkLib || (const wxString&amp;amp; lib) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveCompilerOption || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveIncludeDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveResourceIncludeDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveLibDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveCommandsBeforeBuild || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveCommandsAfterBuild || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetAlwaysRunPostBuildSteps ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetAlwaysRunPostBuildSteps || (bool always) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetBuildScripts || (const wxArrayString&amp;amp; scripts) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetBuildScripts || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddBuildScript || (const wxString&amp;amp; script) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveBuildScript || (const wxString&amp;amp; script) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SetVar || 8const wxString&amp;amp; key, const wxString&amp;amp; value, bool onlyIfExists = false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetVar || (const wxString&amp;amp; key) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || UnsetVar || (const wxString&amp;amp; key) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || UnsetAllVars || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CompileTargetBase ==&lt;br /&gt;
Extends CompileOptionsBase.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTargetFilenameGenerationPolicy || enum, enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetTitle ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTitle || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetOutputFilename || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetWorkingDir || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetObjectOutput || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetDepsOutput || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OptionsRelation || GetOptionRelation || OptionsRelationType ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetOptionRelation || OptionsRelationType,OptionsRelation ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetWorkingDir ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetObjectOutput ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDepsOutput ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetOutputFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || SuggestOutputFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetExecutableFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDynamicLibFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDynamicLibDefFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetStaticLibFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetBasePath ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTargetType || TargetType ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| TargetType || GetTargetType ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetExecutionParameters ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetExecutionParameters || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetHostApplication ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetHostApplication || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCompilerID || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetCompilerID ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetMakeCommandFor || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetMakeCommandFor || enum,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || MakeCommandsModified ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ProjectBuildTarget ==&lt;br /&gt;
Extends CompileTargetBase.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || GetParentProject ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFullTitle ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetExternalDeps ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetExternalDeps || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetAdditionalOutputFiles || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetAdditionalOutputFiles ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetIncludeInTargetAll ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetIncludeInTargetAll || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetCreateDefFile ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCreateDefFile || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetCreateStaticLib ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCreateStaticLib || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetUseConsoleRunner ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetUseConsoleRunner || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== cbProject ==&lt;br /&gt;
Extends CompileTargetBase.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetModified ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetModified || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetMakefile ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetMakefile || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsMakefileCustom ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetMakefileCustom || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseAllFiles || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAllFiles ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Save ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveLayout ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || LoadLayout ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || ShowOptions ||  || Display the project options dialog&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetCommonTopLevelPath ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetFilesCount ||  || Returns number of files in the project&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectFile* || GetFile || int || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectFile* || GetFileByFilename || wxString,bool,bool || See API docs for cbProject::GetFileByName&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RemoveFile || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectFile* || AddFile || wxString|int,wxString,bool,bool,int || See API docs for cbProject::AddFile&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetBuildTargetsCount ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectBuildTarget* || GetBuildTarget || wxString|int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectBuildTarget* || AddBuildTarget || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RenameBuildTarget || wxString|int,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectBuildTarget* || DuplicateBuildTarget || wxString|int,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RemoveBuildTarget || wxString|int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || ExportTargetAsProject || wxString|int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || BuildTargetValid || wxString|bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFirstValidBuildTargetName || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetDefaultExecuteTarget || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDefaultExecuteTarget || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SetActiveBuildTarget || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetActiveBuildTarget ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || SelectTarget || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectBuildTarget* || GetCurrentlyCompilingTarget ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCurrentlyCompilingTarget || ProjectBuildTarget* ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PCHMode || GetModeForPCH ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetModeForPCH || PCHMode ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetExtendedObjectNamesGeneration || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetExtendedObjectNamesGeneration || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetNotes || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString  || GetNotes || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetShowNotesOnLoad || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool ||  GetShowNotesOnLoad || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowNotes || bool,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddToExtensions || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || DefineVirtualBuildTarget || wxString,wxArrayString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || HasVirtualBuildTarget|| wxSring ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RemoveVirtualBuildTarget|| wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetVirtualBuildTargets|| ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetVirtualBuildTargetGroup || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetExpandedVirtualBuildTargetGroup|| wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CanAddToVirtualBuildTarget || wxSring,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTitle || wxSring ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== EditorBase ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetFilename || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetShortName ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetModified ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetModified || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetTitle ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTitle || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Activate ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Close ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Save ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsBuiltinEditor ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || ThereAreOthers ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoLine || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ToggleBreakpoint || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || HasBreakpoint || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoNextBreakpoint ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoPreviousBreakpoint ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ToggleBookmark || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || HasBookmark || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoNextBookmark ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoPreviousBookmark ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Undo ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Redo ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Cut ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Copy ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Paste ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CanUndo ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CanRedo ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CanPaste ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || HasSelection ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== cbEditor ==&lt;br /&gt;
Extends EditorBase.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetEditorTitle || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectFile* || GetProjectFile ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Save ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || FoldAll ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || UnfoldAll ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ToggleAllFolds ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || FoldBlockFromLine || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || UnfoldBlockFromLine || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ToggleFoldBlockFromLine || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetLineIndentInSpaces || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetLineIndentString || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Touch ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Reload || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Print || bool,PrintColourMode,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AutoComplete ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || AddBreakpoint || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RemoveBreakpoint || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetText || wxString || this is not present in cbEditor; included to help scripts edit text&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetText ||  || this is not present in cbEditor; included to help scripts edit text&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Constant&lt;br /&gt;
!Type&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM || int || this defines the platform Code::Blocks is currently running on. It is equal to only one of the following PLATFORM_* constants&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_MSW || int || All Windows platforms&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_GTK || int || All GTK platforms (Linux, BSD, Solaris, Darwin, etc.)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_MAC || int || All Mac platforms&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_OS2 || int || OS/2 platform&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_X11 || int || All X11 platforms&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_UNKNOWN || int || Unknown platform. Please inform us if PLATFORM == PLATFORM_UNKNOWN so we can make this platform known too ;)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''Message dialog flags'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxOK || int || Flag for Message() 's third argument (flags).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxYES_NO || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxCANCEL || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxICON_QUESTION || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxICON_INFORMATION || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxICON_WARNING || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxICON_ERROR || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''Message dialog return values'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxID_OK || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxID_YES || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxID_NO || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxID_CANCEL || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum OptionsRelationType'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortCompilerOptions || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortLinkerOptions || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortIncludeDirs || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortLibDirs || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortResDirs || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum OptionsRelation'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| orUseParentOptionsOnly || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| orUseTargetOptionsOnly || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| orPrependToParentOptions || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| orAppendToParentOptions || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum TargetType'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttExecutable || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttConsoleOnly || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttStaticLib || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttDynamicLib || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttCommandsOnly || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum MakeCommand'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mcClean || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mcDistClean || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mcBuild || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mcCompileFile || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum PCHMode'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pchSourceDir || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pchObjectDir || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pchSourceFile || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum PrintScope'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| psSelection || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| psActiveEditor || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| psAllOpenEditors || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum PrintColourMode'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcmBlackAndWhite || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcmColourOnWhite || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcmInvertColours || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcmAsIs || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum TemplateOutputType'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wizProject || enum || TemplateOutputType::totProject&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wizTarget || enum || TemplateOutputType::totTarget&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wizFiles || enum || TemplateOutputType::totFiles&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wizCustom || enum || TemplateOutputType::totCustom&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''Other constants'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxFILE_SEP_PATH || wxString || Path separator. &amp;quot;\&amp;quot; for windows, &amp;quot;/&amp;quot; for all other platforms&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''File extensions (e.g. &amp;quot;cbp&amp;quot;)'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_CODEBLOCKS || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_DEVCPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_MSVC6 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_MSVC6_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_MSVC7 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_MSVC7_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_D || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_F || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_F77 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_F95 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_CPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_C || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_CC || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_CXX || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_HPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_H || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_HH || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_HXX || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_OBJECT || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_XRCRESOURCE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_STATICLIB || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_DYNAMICLIB || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_EXECUTABLE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_RESOURCE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_RESOURCEBIN || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_XML || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_SCRIPT || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''File extensions with leading dot (e.g. &amp;quot;.cbp&amp;quot;)'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_CODEBLOCKS || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_DEVCPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_MSVC6 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_MSVC6_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_MSVC7 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_MSVC7_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_D || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_F || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_F77 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_F95 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_CPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_C || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_CC || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_CXX || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_HPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_H || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_HH || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_HXX || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_OBJECT || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_XRCRESOURCE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_STATICLIB || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_DYNAMICLIB || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_EXECUTABLE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_RESOURCE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_RESOURCEBIN || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_XML || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_SCRIPT || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Scripting Code::Blocks|Scripting index]]&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5487</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5487"/>
		<updated>2008-04-09T20:09:36Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added also to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Insert Class method Declaration/Implementation==&lt;br /&gt;
The context menu in the editor Insert/Class method declaration/implementation shows the list of classes etc. but lacks of the ability of filter mechanism while typing text text like it is available for Goto File or Goto Function.--[[User:Mariocup|Mariocup]]&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5422</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5422"/>
		<updated>2008-03-15T13:46:30Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Multiple Watch Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added also to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;. The name of the watch windows should be editable.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5421</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5421"/>
		<updated>2008-03-14T21:55:57Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added also to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments --[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5420</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5420"/>
		<updated>2008-03-14T21:54:43Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Section Browser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added also to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
The search dialog should provide a filter for the search scope: Function, Class etc.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Search Dialogue ==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different sections.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5419</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5419"/>
		<updated>2008-03-14T12:36:33Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added also to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
The search dialog should provide a filter for the search scope: Function, Class etc.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
== Setting Defines ==&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Search Dialogue ==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different settings.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5418</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5418"/>
		<updated>2008-03-14T12:35:58Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added also to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
The search dialog should provide a filter for the search scope: Function, Class etc.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
= Project Management = &lt;br /&gt;
Setting Defines&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
== Assembler Options ==&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
== Checkbox for Prebuilt and Postbuilt Steps ==&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
== Environment per build target == &lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
== File Explorer in CB ==&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
== Block Select Mode ==&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array.&lt;br /&gt;
&lt;br /&gt;
== Aspell ==&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
== Linker Settings ==&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
= Embedded = &lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
== Extension Points for options ==&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
== Occlusion highlight ==&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
== Symbol-Browser ==&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
== Search Dialogue ==&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments&lt;br /&gt;
&lt;br /&gt;
== Show Call Hierarchy ==&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
== Debugger Console ==&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
== Hardware Breakpoint ==&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
== Interrupt and Resume Debugger ==&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
== Section Browser ==&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different settings.&lt;br /&gt;
&lt;br /&gt;
== Symbol View in Debugger ==&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
== Mixed Mode ==&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
== Tabbed View ==&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
== Multiple Watch Windows ==&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Write Access to Register, Memory ==&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
== Special Function Register ==&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
== Multiple Debugger Instances ==&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
== Memory Consumption ==&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
== Squirell Debug ==&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User:Mariocup&amp;diff=5417</id>
		<title>User:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User:Mariocup&amp;diff=5417"/>
		<updated>2008-03-13T22:53:19Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: Removing all content from page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User:Mariocup&amp;diff=5416</id>
		<title>User:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User:Mariocup&amp;diff=5416"/>
		<updated>2008-03-13T22:52:47Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: New page: Project Management: Setting Defines For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be do...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project Management:&lt;br /&gt;
Setting Defines&lt;br /&gt;
For example if a source file contains different #ifdef constructs, sometimes the user wants to toggle setting or unsetting of a define. This could be done either with introducing a comment character in the compiler define dialogue or using a split view window, where one column could be for setting a define and a second column for unsetting a define. The status of a define could be move between the columns by an arrow.&lt;br /&gt;
&lt;br /&gt;
Assembler Options:&lt;br /&gt;
If you select the properties-&amp;gt;Advanced option of an assembler file and click &amp;quot;Use custom build command&amp;quot;  then per default &amp;quot;$compiler $options $includes - c $file -o $object&amp;quot; should appear.&lt;br /&gt;
&lt;br /&gt;
Checkbox for Prebuilt and Postbuilt Steps&lt;br /&gt;
If you are using different postbuilt steps e.g. conversion of executable to a hex-file and followed by a build steps for flash programming it would be desirable either to have a a comment character for disabling postbuilt steps or introducing checkbox for selecting different post built steps.&lt;br /&gt;
&lt;br /&gt;
Environment per build target&lt;br /&gt;
E.g. you want to use different compiler version for two build targets. The compiler is parametrise in the toolchain executable as an environment variable GNUGCC that points to different MinGW compiler versions. This could be realised when configurations of environment variables could be assigned for each build target.&lt;br /&gt;
&lt;br /&gt;
File Explorer in CB&lt;br /&gt;
The file explorer (dmoore) and its shell extension can be used for flexible tasks like integrating Subversion support with gsvn or TortoiseSVN, diffing files etc. It should be integrated in Codeblocks. &lt;br /&gt;
&lt;br /&gt;
Block Select Mode&lt;br /&gt;
Currently CodeBlocks supports only the selection and copy in block mode (ALT) but cannot paste the content in this mode. This features is useful for changing the content of columns in an array.&lt;br /&gt;
&lt;br /&gt;
Aspell&lt;br /&gt;
Integrate Aspell as spell checker as CodeBlocks may be used as text editor too.&lt;br /&gt;
&lt;br /&gt;
Linker Settings:&lt;br /&gt;
If you link different libraries that contain cylic references, then the linker will issue an error. To solve the problem you can surround the library list by&lt;br /&gt;
&lt;br /&gt;
--start-group &amp;lt;liste libs&amp;gt; --end-group&lt;br /&gt;
&lt;br /&gt;
Could be nice to have a checkbox in the Linker settings that will provide this command.&lt;br /&gt;
&lt;br /&gt;
Embedded:&lt;br /&gt;
Add new tabs in the project settings for setting a predefined list of assembler and linker options (like in the compiler tab).&lt;br /&gt;
&lt;br /&gt;
Extension Points for options:&lt;br /&gt;
Add mechanism to lock inconsistent selection of compiler, assembler or linker options. E.g. if one march= is selected other march= should be disabled and issue a warning.&lt;br /&gt;
&lt;br /&gt;
Occlusion highlight:&lt;br /&gt;
/index.php?topic=7768.msg58463;topicseen#new  (Ceniza)&lt;br /&gt;
&lt;br /&gt;
Symbol-Browser:&lt;br /&gt;
The scope of the search in the symbol browse should depend on the user selection Global Functions, Global Variables, Defines etc.&lt;br /&gt;
&lt;br /&gt;
Search Dialogue:&lt;br /&gt;
Add filter for searching with: Class/Struct, Union, Enumeration, Typedef, Function, Method, Variable, Namespace, Comments&lt;br /&gt;
&lt;br /&gt;
Show Call Hierarchy:&lt;br /&gt;
Show tree view of the called function and functions that were called before and after it. &lt;br /&gt;
&lt;br /&gt;
Debugger Console:&lt;br /&gt;
Integrate a gdb Debugger Console in CodeBlocks.&lt;br /&gt;
&lt;br /&gt;
Hardware Breakpoint:&lt;br /&gt;
For embedded programming it is required to add so called hardware breakpoints. To do that gdb settings set only-use-hw-breakpoints 1 are required. These breakpoint should have a different color. Additional it could be a nice feature to be able to disable and enable existing breakpoints.&lt;br /&gt;
&lt;br /&gt;
Interrupt and Resume Debugger:&lt;br /&gt;
Add button for interrupting and resume in the Debugger.&lt;br /&gt;
&lt;br /&gt;
Section Browser:&lt;br /&gt;
In the gdb console the command &amp;quot;i file&amp;quot; will display the names of the output sections with start and end address. This information could be displayed in a tree view and by selecting the name of the output section you can navigate between sections. This could be useful to set breakpoint in different settings.&lt;br /&gt;
&lt;br /&gt;
Symbol View in Debugger:&lt;br /&gt;
In some debuggers the symbols of an object (e.g. including startup code) are extracted and displayed in the symbol view. To get a clear view this view should provide a search dialogue and a filter mechanism for display the symbols.&lt;br /&gt;
&lt;br /&gt;
Mixed Mode:&lt;br /&gt;
Provide a context menu to get a mixed mode (source code and assembler output) in debug mode. This should be possible for alle files within a project. In this view the user can set breakpoints in the assembler lines.&lt;br /&gt;
&lt;br /&gt;
The display in mixed mode can be achived with the use of the GDB/MI interface (see gdb Manual gdb/mi Command Syntax):&lt;br /&gt;
Since gdb 6.1 the debugger can perform mi command with the use of interperter-exec command. &lt;br /&gt;
&lt;br /&gt;
interpreter-exec mi &amp;quot;-data-disassemble -f main.cpp -l 2 -- 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The passing of --0 or --1 will provide information for mixed mode if it is parsed.&lt;br /&gt;
&lt;br /&gt;
Tabbed View:&lt;br /&gt;
The windows of breakpoint, variables etc. should dockable in a tabbed view.&lt;br /&gt;
&lt;br /&gt;
Multiple Watch Windows:&lt;br /&gt;
In complex application with many watches the windows becomes unclear, since that a search function in the watch window would be cool. In addition it is diserable to have multiple watch windows to group some variables in &amp;quot;categories&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Write Access to Register, Memory:&lt;br /&gt;
Sometimes it is necessary to modify controller registers of values in the memory, therefore the memory and register view should provide a feature modify he content.&lt;br /&gt;
&lt;br /&gt;
Special Function Register:&lt;br /&gt;
Architectures like PowerPC or TriCore have tousands of Special Functions Registers, which are not convenient to display them in the debugger. A browse dialogue for special funcions registers would simplify life.&lt;br /&gt;
&lt;br /&gt;
Multiple Debugger Instances:&lt;br /&gt;
In embedded applications it is necessary to debug different projects (AVR, PowerPC etc.) simultaneously. For this reason the debugger mustn't be stopped when switching between projects.&lt;br /&gt;
&lt;br /&gt;
Memory Consumption:&lt;br /&gt;
A bar/gauge view of the allocated memory in different output sections.&lt;br /&gt;
&lt;br /&gt;
Squirell Debug:&lt;br /&gt;
Squirell scripts provide a simple mechanism to add functionality to CodeBlocks. The possibility to debug these scripts in CodeBlocks would be nice.&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5415</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5415"/>
		<updated>2008-03-13T21:40:57Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Scope for Search */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added also to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
The search dialog should provide a filter for the search scope: Function, Class etc.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5414</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5414"/>
		<updated>2008-03-13T21:40:41Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: /* Search Dialog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added also to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
The search dialog should offer a filter for the search scope: Function, Class etc.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5413</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5413"/>
		<updated>2008-03-13T21:39:36Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
The search dialog should offer a filter for the search scope: Function, Class etc.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5412</id>
		<title>User talk:Mariocup</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_talk:Mariocup&amp;diff=5412"/>
		<updated>2008-03-13T10:38:11Z</updated>

		<summary type="html">&lt;p&gt;Mariocup: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editor Improvements =&lt;br /&gt;
&lt;br /&gt;
==Resize editor window==&lt;br /&gt;
A double click on a tab of an opened file should enlarge the editor window, and put the Log &amp;amp; Others and the management panel (F2 and Alt+F2) in the background. If you double click again on the tab, the window will be resized to the original size and the panels are visible again.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Icons in the Management window==&lt;br /&gt;
If you want to switch the different views in the management window you have to scroll, the tabs (projects, symbols, Files etc.). It would be easier for the user to have different icons like (http://kile.sourceforge.net/showscreenshot.php?id=2I) in the margin to switch between the views. If you select e.g. the project icon then the project view will appear. Clicking again on the same icon will collapse the project view.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Save copy as==&lt;br /&gt;
Sometimes user want to make a backup of files or want to save a copy at a different location. Therefore a menu save copy as could be useful.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Clipboard History==&lt;br /&gt;
Editors like vi or Jedit offer clipboards for copy and paste. The user can select in which register is put the content of the clipboard and can paste the content of one of the buffer/register.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Search Dialog==&lt;br /&gt;
The Thread Search dialogue should be added to the normal search dialogue.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Scope for Search==&lt;br /&gt;
The search dialog should offer a filter for the search scope: Function, Class etc.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Window docking==&lt;br /&gt;
Docking/Undocking of windows in CB with split view (See patch of dmoore for detaching CB windows).--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Incremental Search==&lt;br /&gt;
The search for a word will be highlighted within the text. All occurences should be highlighted.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Show value of defines==&lt;br /&gt;
For embedded developing often defines are used for bit masks. So it would be helpful if the user puts the cursor over a define and CB will hover the value of the define.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Wrap Mode==&lt;br /&gt;
If a text is wrapped in several lines (wrap mode) and the cursor is between these lines, then the Home-key will put the cursor in beginning of the first line instead of the start of the current line. This behaviour should be changed.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
==Convert Tab to spaces and vice versa==&lt;br /&gt;
If you mark a text in the editor and select the context menu, then tabs will converted to spaces within the selection.--[[User:Mariocup|Mariocup]] 11:38, 13 March 2008 (CET)&lt;/div&gt;</summary>
		<author><name>Mariocup</name></author>
	</entry>
</feed>