I tried it with structures and it doesn't work.
code completion?
code completion?
Does code completion only work with classes?
I tried it with structures and it doesn't work.
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 simpleDoes code completion only work with classes? I tried it with structures and it doesn't work.
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.
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 :(
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
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:
I hope it helps to find the problem.
Udo
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 :(
}Udo
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:
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):
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:
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
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 :)
}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: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: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
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
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
-
Thomas
php completion in shareware version
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
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
-
Thomas Noest
code completion
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...
But, aint it a good idea?
Till then I'll manage with templates...
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.
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?
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
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
A new Zeus patch is now available that should help fix some of these issuesDo you have any idea how to solve this?
For more details go to this link: http://www.zeusedit.com/forum/viewtopic.php?t=613
Cheers Jussi
Last edited by jussij on Sun May 28, 2006 2:42 am, edited 1 time in total.
code completion?
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:
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
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 !!!!!!!!
}
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?
Hi Jussi !
I did some tests with old versions. Here are my results:
). 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
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
So maybe this can help you.
Regards
Michael
Hi Michael,
This was a small bug in the Zeus 3.96e build
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
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
