Developer forums (C::B DEVELOPMENT STRICTLY!) > CodeCompletion redesign
Suggestion: Using ctags & sqlite for code completion
takeshimiya:
--- Quote from: tiwag on September 06, 2006, 01:23:27 pm ---if you want to run it from the LiteEditor\bin directory, you have to copy the files
liteeditor.xml, sqlite3.dll and ctags.exe there too , it runs fine for me using wx263.dll
--- End quote ---
For the wx-config LiteEditor project I've set post-build steps:
--- Code: ---cmd /c copy /y ..\sdk\sqlite3\lib\msw_gcc\sqlite3.dll bin\msw_gcc\
cmd /c copy /y ..\sdk\ctags\bin\msw_gcc\ctags.exe bin\msw_gcc\
cmd /c copy /y liteeditor.xml bin\msw_gcc\
--- End code ---
--- Quote from: tiwag on September 06, 2006, 01:23:27 pm ---i would be interested if it builds and runs fine for you too
--- End quote ---
Everything works fine now in all configurations in both projects. :)
tiwag:
--- Quote from: Takeshi Miya on September 07, 2006, 05:19:05 am ---Everything works fine now in all configurations in both projects. :)
--- End quote ---
Blue-Tiger:
Hi there!
As C++ supports multiple inheritance it is possible that a class has more than 1 parent. Currently your implementation has a single "parent" column in your database. So if a class has more than superclasses, you'd have to store something like "ParentA, ParentB" in that column, or write 2 entries that only differ by their parent-value. This is usually considered bad database design (If you're interested might want to check out http://en.wikipedia.org/wiki/First_normal_form ), as it makes queries like "find me all the parents of class Foo" a bit akward. I don't know if this is an issue for you or not. Probably the whole thing would work just fine anyways. I just thought I let you know, because it might need a restructuration of your database to fix it. So it should better not be left until the end of the coding ;)
P. S.I didn't like LiteEditor being distributed with an Installer, personally I like simple zip-archives more, because you can usually just delete & forget them once you're done with them ( + installation is much faster). This is just my personal opinion, though. :)
eranif:
Just a quick update on this subject:
the library + a demo for how to use it, is ready with the following features:
With minimum work on the Editor side, the CodeLite library can provide the following:
- Built-in Symbol browser (automatic update etc)
- Built-in parsing thread
- *very* fast parsing of sources (took me less then 30 secs to parse and build database with the whole gnu include directory, STL included)
- CodeCompletion works with STL, wxWidgets ect (ofcourse bug are there, just waiting to be discovered)
- WordCompletion
- Static database in addition to the workspace database, the static database contains information from unlikely to change headers files (for example, gcc include directory /usr/include, wxWidgets etc)
- Hover tips (assiting tooltips)
- Goto definition/declaration
- Comment parsing and can be displayed in the Hover toolip
Other features can be added on demand, with minimum work.
If any developer would like to create a plugin for C::B, drop me a message
the most updated source file can be retrieved here via SVN:
https://opensvn.csie.org/CodeLite
Latest revision (at the time of typing this message): 140
With regards,
Eran
Eran
tiwag:
ctags is obviously not good enough to parse wxwidgets
and gets confused with the heavy usage of macros
when parsing .\CodeLiteEditor\LiteEditor\frame.cpp
it shows WXUNUSED(event) instead of
OnUseExternalDatabase(wxCommandEvent& WXUNUSED(event))
and all eventhandler functions are missing
screenshot
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version