Difference between revisions of "Code Completion plugin"

From Code::Blocks
m (add category)
(new icon)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:Code::Blocks Documentation]]
 
[[Category:Code::Blocks Documentation]]
[[Category:Developer Documentation]]
+
[[Category:Code::Blocks Core Plugins]]
Note: Only C/C++ language is supported by this plugin (currently)...
+
{{Infobox_Plugin|
==Get the source code==
+
  name = CodeCompletion |
When you download the svn source code of code::blocks,(see here [[Installing_Code::Blocks_from_source_on_Windows#Code::Blocks_sources]] the source code of this plugin was already included. See a screenshot of these code opened in code::blocks under windows.
+
  logo = [[File:Codecompletion_icon.png]] |
[[Image:Devcc1.png|frame|none| Code completion source tree opened in code::blocks]]
+
  developer = |
==Low level parser==
+
  maintainer = |
For someone havn't heard what does "Token" and "Tokenize" means, you should read the wikibooks article [http://en.wikibooks.org/wiki/C%2B%2B_Programming/Compiler#Compilation A brief explain of what does a parser do] and [http://en.wikipedia.org/wiki/Lexical_analysis Tokenize on wikipedia]. Shortly, a parser treats your C++ or C code as a large array of characters, then this big string was divided to small atom strings, meanwhile "spaces" and "comments" were ignored.
+
  version = 1.0
===Tokenizer class===
+
}}
There are several steps to running the Tokenizer class
+
'''CodeCompletion''' provides a symbols browser for your projects and code-completion inside the editor. During code-completion, a system of symbols is used to identify the type associated with the suggested tokens; these symbols are defined in the following table.
*A thread must be created to parse a source file.
+
 
*Open the source file and convert the file buff to Unicode mode.(since we are all using Unicode build of code::blocks, and ANSI mode is outdated).
+
{| border="1" align="center" cellpadding="3" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center;"
*The class contains a Pointer to the current position of the character, so, you can Get or Peek the current character.
+
|- style="background: #ececec; border: solid 1px gray;"
*Nested Value was kept to indicate your are in the correct brace pair.
+
! style="width: 32%" |
==High level parser==
+
! style="width: 17%" | Public
Each identifier will be recorded and saved in the memory for later usage.
+
! style="width: 17%" | Protected
==UI issue==
+
! style="width: 17%" | Private
 +
! style="width: 17%" | Other
 +
|- style="border: solid 1px gray;"
 +
! style="text-align: left; background: #ececec;" | Class
 +
| [[File:Class public.png]]
 +
| [[File:Class protected.png]]
 +
| [[File:Class private.png]]
 +
| [[File:Class.png]]
 +
|- style="border: solid 1px gray;"
 +
! style="text-align: left; background: #ececec;" | Constructor
 +
| [[File:Ctor public.png]]
 +
| [[File:Ctor protected.png]]
 +
| [[File:Ctor private.png]]
 +
|
 +
|- style="border: solid 1px gray;"
 +
! style="text-align: left; background: #ececec;" | Destructor
 +
| [[File:Dtor public.png]]
 +
| [[File:Dtor protected.png]]
 +
| [[File:Dtor private.png]]
 +
|
 +
|- style="border: solid 1px gray;"
 +
! style="text-align: left; background: #ececec;" | Enumeration
 +
| [[File:Enum public.png]]
 +
| [[File:Enum protected.png]]
 +
| [[File:Enum private.png]]
 +
| [[File:Enum.png]]
 +
|- style="border: solid 1px gray;"
 +
! style="text-align: left; background: #ececec;" | Function
 +
| [[File:Method public.png]]
 +
| [[File:Method protected.png]]
 +
| [[File:Method private.png]]
 +
|
 +
|- style="border: solid 1px gray;"
 +
! style="text-align: left; background: #ececec;" | Macro
 +
| [[File:Macro public.png]]
 +
| [[File:Macro protected.png]]
 +
| [[File:Macro private.png]]
 +
| [[File:Macro.png]]
 +
|- style="border: solid 1px gray;"
 +
! style="text-align: left; background: #ececec;" | Namespace
 +
|
 +
|
 +
|
 +
| [[File:Namespace.png]]
 +
|- style="border: solid 1px gray;"
 +
! style="text-align: left; background: #ececec;" | Preprocessor
 +
|
 +
|
 +
|
 +
| [[File:Preproc.png]]
 +
|- style="border: solid 1px gray;"
 +
! style="text-align: left; background: #ececec;" | Typedef
 +
| [[File:Typedef public.png]]
 +
| [[File:Typedef protected.png]]
 +
| [[File:Typedef private.png]]
 +
| [[File:Typedef.png]]
 +
|- style="border: solid 1px gray;"
 +
! style="text-align: left; background: #ececec;" | Variable
 +
| [[File:Var public.png]]
 +
| [[File:Var protected.png]]
 +
| [[File:Var private.png]]
 +
|
 +
|-
 +
|}
 +
 
 +
Note: This is the user document of Code Completion plugin.
 +
Only C/C++ language is supported by this plugin (currently)...
 +
 
 +
==See also==
 +
Development documents:
 +
* [[Code::Completion Rewrite]]
 +
* [[Code Completion Design]]

Latest revision as of 03:19, 16 February 2013

CodeCompletion
Codecompletion icon.png
Developer(s):
Maintainer(s):
Version: 1.0

CodeCompletion provides a symbols browser for your projects and code-completion inside the editor. During code-completion, a system of symbols is used to identify the type associated with the suggested tokens; these symbols are defined in the following table.

Public Protected Private Other
Class Class public.png Class protected.png Class private.png Class.png
Constructor Ctor public.png Ctor protected.png Ctor private.png
Destructor Dtor public.png Dtor protected.png Dtor private.png
Enumeration Enum public.png Enum protected.png Enum private.png Enum.png
Function Method public.png Method protected.png Method private.png
Macro Macro public.png Macro protected.png Macro private.png Macro.png
Namespace Namespace.png
Preprocessor Preproc.png
Typedef Typedef public.png Typedef protected.png Typedef private.png Typedef.png
Variable Var public.png Var protected.png Var private.png

Note: This is the user document of Code Completion plugin. Only C/C++ language is supported by this plugin (currently)...

See also

Development documents: