Author Topic: Requirements / Guidelines for re-writing the Code Completion  (Read 136477 times)

pass86

  • Guest
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #15 on: July 18, 2007, 05:22:16 am »
Like VisualAssistXv10.

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #16 on: July 19, 2007, 11:02:07 pm »
I'm adding this link:

http://www.codeproject.com/showcase/VisualAssistX.asp

for reference, to see where we are and where we want to get.

Offline byo

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 836
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #17 on: July 20, 2007, 12:03:43 am »
Out of STL vs wxWidgets debate:
Maybe it would be good idea to split current CC plugin into two plugins - one for actual code assisting and one for strict code parsing. If it will be done in this way, one can simply write parsing-only plugin to support extra language an thus allowing it inside assist window. And what's also nice about this - other plugins may use tree generated by parser plugin to do some magic - like CodeBrowser plugin (presented somewhere in this forum), becuase there's no use writing separate parser for each plugin that require some code analysis (and just imagine how much it could ease writing refactoring plugin).
Assist plugin could be developed separately giving better code assisting no matter what language is used.

What do you think ?

Regards
   BYO

Offline Der Meister

  • Regular
  • ***
  • Posts: 307
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #18 on: July 20, 2007, 12:18:58 am »
Sounds great but I wonder if it would be easier and better to start from scratch than to split up the existing CC plugin. Because the CC plugin is already quite complex and I doubt that splitting it can easily be done without a lot of code-rewriting. Probably this will get worse if we try to give both separated plugins a good interface, but this would be needed. But this is just a guess, maybe someone who is more familier with the CC plugin than I am can say more about it :)
Real Programmers don't comment their code. If it was hard to write, it should be hard to understand.
Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12.

pass86

  • Guest
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #19 on: July 22, 2007, 10:28:19 am »
It needs to be running more quickly.

Offline patlecat

  • Multiple posting newcomer
  • *
  • Posts: 62
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #20 on: July 22, 2007, 11:38:46 am »
If you want to improve CB, toward what's the best CodeCompletion systems today, then orient yourself instead on Visual Slick Edit (go to Cool Demos). Not on an outdated VC plugin!

I began a project this summer for my employer to reimplement a server written in Perl on a new machine in C++. Target machine is Solaris10-Sparc. So I thought: Great I can develop on Windows with CodeBlocks and just move the files over and compile them there. But apart from the lack of Makefile support the biggest downer for me was the very incomplete support for CodeCompletion that helps you with new Code and Libraries!
So, after 3 weeks of struggling with CB I gave up and bought the excellent Visual Slick Edit.

I have used VSE for some years and have not come across a more convenient Editor since, including VisualC 6-8 ! So I really think that you should let yourself be influenced by this editor as the top notch on the market. Because I would love to use CB for everything as soon as possible!

One key of success is the excellent Tagging-System in VSE which allows you to add new interfaces anytime!
« Last Edit: July 22, 2007, 11:40:25 am by patlecat »

Offline Raindog

  • Multiple posting newcomer
  • *
  • Posts: 17
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #21 on: August 16, 2007, 09:41:39 am »
If you want to improve CB, toward what's the best CodeCompletion systems today, then orient yourself instead on Visual Slick Edit (go to Cool Demos). Not on an outdated VC plugin!

I began a project this summer for my employer to reimplement a server written in Perl on a new machine in C++. Target machine is Solaris10-Sparc. So I thought: Great I can develop on Windows with CodeBlocks and just move the files over and compile them there. But apart from the lack of Makefile support the biggest downer for me was the very incomplete support for CodeCompletion that helps you with new Code and Libraries!
So, after 3 weeks of struggling with CB I gave up and bought the excellent Visual Slick Edit.

I have used VSE for some years and have not come across a more convenient Editor since, including VisualC 6-8 ! So I really think that you should let yourself be influenced by this editor as the top notch on the market. Because I would love to use CB for everything as soon as possible!

One key of success is the excellent Tagging-System in VSE which allows you to add new interfaces anytime!

Well, if you define "superior" as not properly handing the most basic refactorings on code with templates (including renames), requiring "tag" files for code completion and not actual intelligent knowledge of the source, poor syntax highlighting and extremely outdated editor, then yeah, I would wholeheartedly suggest VSE over VAX.

VAX provides the following features:
* improved syntax highlighting.
* improved code completion. (as good as java or c# intellisense features).
* c/c++ refactoring.
* outline view of code that enables navigation to and re-arrangement of code from within the view.
* spell checking.
* quick templates.
* ability to find references to variables, functions, classes.
* supremely awesome code navigation features/shortcuts.

If anyone develops w/ Visual Studio and does not use VAX, you might as well code in notepad.

Offline patlecat

  • Multiple posting newcomer
  • *
  • Posts: 62
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #22 on: September 27, 2007, 09:39:26 pm »
You've got to be kidding me...

Offline AlekseyT

  • Multiple posting newcomer
  • *
  • Posts: 13
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #23 on: March 13, 2008, 04:59:45 pm »
May be better use sqlite (www.sqlite.or) for store current project information (parsed function, variable and so on). Back-end in background get all information and write it to database. Only back-end may write and delete information from sqlite database. Front-end(s) use database for reading. Front-end(s) can get information in one transaction (for get consistent information).

With this scheme developers can integrate other back-end (other parse engine) into CB. And plugin-developer can also easy get needed info from parser.

Offline stevenkaras

  • Multiple posting newcomer
  • *
  • Posts: 18
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #24 on: March 13, 2008, 10:38:23 pm »
May be better use sqlite (www.sqlite.or) for store current project information (parsed function, variable and so on). Back-end in background get all information and write it to database. Only back-end may write and delete information from sqlite database. Front-end(s) use database for reading. Front-end(s) can get information in one transaction (for get consistent information).

With this scheme developers can integrate other back-end (other parse engine) into CB. And plugin-developer can also easy get needed info from parser.

True. You should take a look at the wiki page, where you can find some more info on the C::C rewrite:
http://wiki.codeblocks.org/index.php?title=Code::Completion_Rewrite

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 6034
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #25 on: December 26, 2008, 04:39:40 am »
Hi, everyone, I found another good IDE named Codelite which has functionality of code completion. I think we could learn from it. By the way, If would help to develop this plugin ( add something to support namespaces), how can I get involved?

It seems that some document? some guideline? and some plug in source code is need.

Thanks
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline Ceniza

  • Developer
  • Lives here!
  • *****
  • Posts: 1441
    • CenizaSOFT
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #26 on: December 26, 2008, 09:22:03 am »
Integrating CodeLite's parser into Code::Blocks has been discussed before, but no one has dared to do it. eranif (CodeLite's developer) was helping us to some extent, and still no one decided to step forward, take the challenge and do it. Just search the forums, and you will see.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 6034
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #27 on: December 28, 2008, 10:32:46 am »
Thanks.
Now, I have download the whole source code of codeblocks from svn. And I'm reading the code completion part. But it is difficult to read, because no document is supported :(....
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline cdavalillo

  • Multiple posting newcomer
  • *
  • Posts: 28
Re: Requirements / Guidelines for re-writing the Code Completion
« Reply #28 on: January 03, 2024, 09:30:44 am »
You guys could use std::u32string which is based on char32_t and can represent any UTF-32 char including obviously any UTF-8 char. With this you could make the IDE support even all Chinese ideograms. You could convert this type of string to the normal std::string which is based on char. And the interaction with wxWidgets is not a problem because you can convert from and to std::string and from there to wxString, std::string is considered a binary buffer of wider characters representation when converted from std::u32string. Furthermore, as std::u32string is based on char32_t you could make arrays of char32_t and used them equally as std::u32string or even a std::vector<std::u32string>.