Page 1 of 1
code completion?
Posted: Tue Sep 14, 2004 6:53 am
by UdoJ
Does code completion only work with classes?
I tried it with structures and it doesn't work.

Posted: Tue Sep 14, 2004 11:46 am
by jussij
Does code completion only work with classes? I tried it with structures and it doesn't work.
The short answer is yes Zeus should support structures but unfortunately in reality things are never quite so simple
Zeus uses the
Exuberant Ctags utility to generate the tags database. This tagger does supports some 33 languages, but unfortunatly some of the languages are better supported than others. Thus the quality of the code completion depends on the quality of the Zeus code, the quality of the ctags code and also the language you are coding
But all is not lost.

The first thing you need to do is make sure you are using the latest
xtags.dll file.
Do this by refering to the
Intellisensing Bug announcement.
If the latest
xtags.dll does not fix the problem, the next step is posting a small code snippet that highlights the problem. For example something like this is all that is required:
Code: Select all
struct MyStructure
{
MyStructure();
int method();
}
MyStructure test;
test.<= intellisensing fails here :(
Making sure you quote the
file extension (ie programming language) the code snippet represents.
I will then take a look at the problem and with a bit of luck it might be possible to post a new
xtags.dll or a new ctags.exe that fixes the bug.
Jussi
code completion
Posted: Wed Sep 15, 2004 6:01 am
by UdoJ
Thanks for your prompt reply but unfortunately the change of
xtags.dll didn't solve the problem.
As requested here is a small code sample that shows the problem:
Code: Select all
file: Main.C
typedef struct tagCANCfg
{
BYTE bIRQ;
BYTE bSysIntr;
BOOL boKillIsr;
HANDLE hCANIsrEvent;
HANDLE hCANIsr;
} CANCFG, *PCANCFG;
void main (void)
{
CANCFG CANConfig;
CANConfig.<= intellisensing fails here :(
}
I hope it helps to find the problem.
Udo
Posted: Wed Sep 15, 2004 7:52 am
by jussij
Unfortunately this looks like a bug with ctags.exe
This is why it does not work. If you look at the Zeus class browser window you will see the
tagCANCfg structure is defined and this sturcture does intellisense. For example if you change the example code to read as follows:
Code: Select all
void main (void)
{
CANCFG CANConfig;
CANConfig.<= intellisensing fails here :(
struct tagCANCfg CANConfig;
CANConfig.<= intellisensing now works :)
}
then the intellisensing will work for the second case but not the first.
Next if you look at the tags file produced by ctags.exe for this file you get the following tag information (slightly modified for easier reading):
Code: Select all
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
!_TAG_PROGRAM_NAME Exuberant Ctags //
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
!_TAG_PROGRAM_VERSION 5.5b //
!Name File /<---- Search String ------>; "<-- Browser Information -->
CANCFG main.c /^} CANCFG, *PCANCFG; $/; " t file:
PCANCFG main.c /^} CANCFG, *PCANCFG; $/; " t file:
bIRQ main.c /^ BYTE bIRQ; $/; " m struct:tagCANCfg file:
bSysIntr main.c /^ BYTE bSysIntr; $/; " m struct:tagCANCfg file:
boKillIsr main.c /^ BOOL boKillIsr; $/; " m struct:tagCANCfg file:
hCANIsr main.c /^ HANDLE hCANIsr; $/; " m struct:tagCANCfg file:
hCANIsrEvent main.c /^ HANDLE hCANIsrEvent; $/; " m struct:tagCANCfg file:
main main.c /^void main (void) $/; " f
tagCANCfg main.c /^typedef struct tagCANCfg$/; " s file:
Zeus uses the browser information of the tags file to populate the class browser and it is also this information that is used for intellisensing.
The variables that do not intellisense are these:
Code: Select all
CANCFG main.c /^} CANCFG, *PCANCFG; $/ ; " t file:
PCANCFG main.c /^} CANCFG, *PCANCFG; $/ ; " t file:
which ctags has correctly defined as typedefs (ie 't') and if you again look at the Zeus class browser window you will also see the variables displayed in the typedef section.
But the problem is the tags file does contain any information on how to link these typedefs back to the original structure and hence there is no intellisensing information
Jussi
Posted: Wed Sep 15, 2004 9:09 am
by UdoJ
Thanks again for your prompt replay.
So, I guess we'll have to wait for a new version of ctags then.
Udo
Posted: Tue Feb 08, 2005 5:07 am
by jussij
Hi Udo,
An
Experimental Doxygen tagger has just been uploaded to the Zeus web page. As the name suggests, this is still very much in the early stages of development, but I am hoping that it might help with the some of the tagging problems that you have raised.
Cheers Jussi
php completion in shareware version
Posted: Wed May 04, 2005 12:04 pm
by Thomas
Hi, I just installed the shareware version. Made a workspace, opened a php file and tried code completion. Nothing happened.
If I open the workspace options from the page under "Tags" all seems fine with the default settings.
How can I get this to work?
greetings,
Thomas
code completion
Posted: Wed May 04, 2005 4:56 pm
by Thomas Noest
Oooh, silly me! I thought code completion would work on the keywords. I must be spoiled....
But, aint it a good idea?
Till then I'll manage with templates...
Posted: Thu May 05, 2005 9:16 am
by jussij
One of the items on the Zeus todo list is to have some sort of code completion for keywords. I would assume this feature would work in similar way to the Microsoft Visual Basic IDE, where by keywords are auto completed and auto corrected for spelling etc. etc.
But there are lots of things on the todo list so don't expect this feature any time soon.
Cheers Jussi
PS: At least for short term Zeus will continue to use ctags.exe as it's source of browser information, so the for now the dOxygen tagger should only be considered as very experimental.
code completion?
Posted: Tue Mar 21, 2006 9:04 am
by UdoJ
Hi Jussi,
I'm now using Zeus version 3.95t and hoped that intellisensing on C files is working now, but unfortunately it doesn't

It's still the same behavior as discribed in the post from Wed Sep 15, 2004 (see above).
Do you have any idea how to solve this?
Udo
Posted: Tue Mar 21, 2006 12:40 pm
by jussij
Do you have any idea how to solve this?
A new Zeus patch is now available that should help fix some of these issues
For more details go to this link:
http://www.zeusedit.com/forum/viewtopic.php?t=613
Cheers Jussi
hello
Posted: Sun May 28, 2006 12:55 am
by Fred
hi cool !!!!!!!!!!!!!!!!!!!!
code completion?
Posted: Tue Jun 12, 2007 8:11 am
by HardyPill
Hi Jussi !
I didn't work with any "C" project for a few month. As I started with a new development in "C" again, I got problems with the intellisensing (or code completion):
It's the same behavior as author "UdoJ" discribed in the post from Wed Sep 15, 2004.
In the meantime I always updated Zeus to the actual version and I also installed the newest patches (now: 3.96h).
Example:
Code: Select all
typedef struct tagINTELLI_TEST
{
int iVarA;
int iVarB;
long lVar;
} INTELLI_TEST;
void IntelliTestFunct()
{
struct tagINTELLI_TEST Intellisens;
INTELLI_TEST IntellisensNot;
Intellisens.iVarA; // <-- Intellisensing is working
IntellisensNot. // <-- Intellisensing doesn't work !!!!!!!!
}
Can you explain this?
In 2006 as the problem was fixed, the intellisensing feature worked very good, but now it seems to be a step back ....
Regards
Michael
code completion?
Posted: Tue Jun 12, 2007 8:50 am
by HardyPill
Hi Jussi !
I did some tests with old versions. Here are my results:
- Overwrite V3.96h with patch 3.96c -->working
Overwrite V3.96c with patch 3.96d -->working
Overwrite V3.96d with patch 3.96e -->not working, About dialog tells 3.96d!
Overwrite V3.96e with patch 3.96f -->not working
Then I restored V3.96h to my Zeus installation folder (I saved it before

). Then I copied the
xtags.exe and
xtags.dll from patch
3.96d in my Zeus installation folder and ...
it's working too !!!
So maybe this can help you.
Regards
Michael
Posted: Wed Jun 13, 2007 12:45 am
by jussij
Hi Michael,
About dialog tells 3.96d!
This was a small bug in the Zeus 3.96e build
Then I restored V3.96h to my Zeus installation folder (I saved it before ). Then I copied the xtags.exe and xtags.dll from patch 3.96d in my Zeus installation folder and ... it's working too !!!
I suspect the bug will be in the
xtags.exe file.
The Zeus
xtags.exe file is just
ctags.exe renamed:
http://ctags.sourceforge.net
When ever a new
ctags.exe becomes available the
xtags.exe file is also updated in Zeus.
Also these ctags changes that I made for the D language might have introduced a bug:
http://www.zeusedit.com/forum/viewtopic.php?t=613
In any case as you have found out it is possible to use any version of
xtags.exe or even the
ctags.exe with Zeus
Cheers Jussi