Code Completion plugin: Difference between revisions

From Code::Blocks
Ollydbg (talk | contribs)
m add category
Ollydbg (talk | contribs)
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
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
Constructor
Destructor
Enumeration
Function
Macro
Namespace
Preprocessor
Typedef
Variable

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

See also

Development documents: