Author Topic: Need help with tag symbols?  (Read 3502 times)

fritzeflink

  • Community Member
  • Posts: 55
  • Hero Points: 2
Need help with tag symbols?
« on: August 11, 2017, 04:38:17 PM »
Hello,
checking out Slickedit but I ran into problems right away. I installed it and then loaded my Visual Studio (2015) project file which all worked well. But then when I go into the "Symbols" window and click on anything, class name or anything toplevel I get a pop up "Tag 'CMainFrame' not found" (or any other class name I click on.
The member functions in the classes are ok, when I click on them in the symbol window, the editor shows them, just not the top level. Is there something that I don't see, that I have to change maybe?
Also the "Symbol Browser Find Tag" window shows nothing at all. I rebuilt the tag files as described here in the forum, but to no avail.

I also tried with a new Visual Studio project right out of the Wizard that has only a few classes, but with the same result.

So is it me, do I have to do anything to get the symbol browsing for classes working?
Thanks

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 6879
  • Hero Points: 530
Re: Need help with tag symbols?
« Reply #1 on: August 12, 2017, 01:24:49 PM »
At first, I miss understood which dialog/tool window you were using.

Reproduced. We will look into this.
« Last Edit: August 12, 2017, 06:31:17 PM by Clark »

Dennis

  • Senior Community Member
  • Posts: 3965
  • Hero Points: 517
Re: Need help with tag symbols?
« Reply #2 on: August 21, 2017, 02:33:40 PM »
This will be fixed in the next hot fix for v21.0.3, as well as in v22 beta3.

The Symbol Browser find tag window expects you to type something, then it will show you symbols that match the prefix (or substring) that you type.

fritzeflink

  • Community Member
  • Posts: 55
  • Hero Points: 2
Re: Need help with tag symbols?
« Reply #3 on: August 28, 2017, 07:22:01 PM »
Thanks, I will be trying Slickedit again when the fix is out. For now I must honestly say I am disappointed with regard to the cross referencing and tagging. I tried to load my huge C++ project, which works, but navigating that is basically not possible because half of the structures and classes are not recognized, no members are listed, no parameter completion. Lots of my code is included through a central precompiled H file and the "using namespace" commands there arent recognized. I was able to fix that in general by using the macro feature of the tools/options window, but too much is still not recognized.
For instance I hav a class with the usual H/CPP setup. Inside the class I define a structure in the "private" section. Then in a member function of that class I define a local variable of that structure and Slickedit says that it doesn't know the symbol. I rebuilt the tagfile and all but still nothing.
Also it doesn't recognize in what file a symbol is defined and offers me to add the include statement.

To be totally honest: I was looking if it makes sense to move to Slickedit from Visual Studio/Visual Assist which I have right now, but from my experience so far, Slickedit is inferior. That's a shame because I dont like monopilies but it looks like Microsoft has not only cornered the compiler market but the IDE market as well. I used to work with Slickedit 10 years ago but then moved to VS because I had to. Now I wanted to know if it makes sense to move back, but I think you guys have a lot of catching up to do.

Not trying to bash you here, just giving my honest opinion. I hope you improve Slickedit and survive and maybe it's good for other languages, but on the Microsoft plattform for C++ programming I don't see it as up to the job at present

Dennis

  • Senior Community Member
  • Posts: 3965
  • Hero Points: 517
Re: Need help with tag symbols?
« Reply #4 on: August 28, 2017, 09:42:06 PM »
We do have plans for the future to make our Context Tagging handle side-effecting header files in a more direct manner.  We do have some limitations related to this that exist to insure better performance.

I tried to recreate your example in 21.0.3 to see if I could trace down what was going wrong, but it worked flawlessly. Perhaps you can put together a small sample that demonstrates the problem.  Here is my sample code based on what you described:

Code: [Select]
#include <stdio.h>

class MYCLASS {
public:
    void method(int i=1);
    void method(char *s,int i);
private:
    struct PrivateBenjamin {
        int x,y,z;
    };
    PrivateBenjamin benji;
    struct {
        char *a,b,c;
    } army;
};

void MYCLASS::method(int i) {
    //army.
}
void MYCLASS::method(char *s,int i) {

    PrivateBenjamin m;
    //m.
}
int main(int argc, char* argv[])
{
    printf("Hello World!\n");
    MYCLASS c1;
    return(0);
}

fritzeflink

  • Community Member
  • Posts: 55
  • Hero Points: 2
Re: Need help with tag symbols?
« Reply #5 on: August 29, 2017, 09:11:09 PM »
I made a testproject, open the World_Price_Index.cpp file where you can see two variables both for the local structure. One has the class name as decorator one has not. The project won't compile most likely since I just set it up for the tagging experiment, but the class compiles in my main project and shows the same behavior:
The one with the classname works, you can see the members there. The other one works not. Apparently you have to include the enclosing construct, in this case a class to make tagging work, which is not expected C++ behavior. I don't want to alter my coding style because the editor does not recognize it.
https://www.dropbox.com/sh/1pu4ymama18vomf/AADP6q7yIXlX22ZuXKvz8g7Ta?dl=0
It's good to hear you want to improve the tagging features. On a personal note: I was an avid SlickEdit user until VS 2010 came out with a different project format. I didn't have the money to buy a new version of Slickedit that could read it so I went with Visual Studio and later bought VisualAssist to improve the editor. I looked to Slickedit later to see if I could go back because I like the macro language better plus it would allow me to code in other languaes without having to get used to different IDEs but as long as Slicedit can not compete with the VS/VA combination, there is just no way I can go back. There are so many small things there that make my life easier (for instance the mentioned automatic insertion of an include statement based on where a symbol is defined) that I feel crippled when I try out SlickEdit which is a shame because you have many good features. It is just so that sometimes it's not the big features that make a selling point but the dirty little things you do a thousand times a day without realizing it.
Please look at VS/VA and make it a priority to copy their functionality instead of adding fancy stuff that looks good on the "new feature" list but won't do a thing to the average programmer in daily life.

Just an advice from the real programmer world.

I hope you improve and I check back in a few years


« Last Edit: August 29, 2017, 09:19:45 PM by fritzeflink »

Dennis

  • Senior Community Member
  • Posts: 3965
  • Hero Points: 517
Re: Need help with tag symbols?
« Reply #6 on: August 30, 2017, 09:20:51 PM »
Reproduced the bug in 21.0.3 and looking into it.  This problem was already fixed in v22.

We do our best to keep pace with Visual Studio, and they have been done a lot of work in recent releases to catch up to where we were a decade ago.  In some places they have surpassed us, and that's understandable, they have a team of hundreds of developers writing a tool that works for a small set of languages on one platform. 

It is always helpful for users to call out features that the competition has that they can't do without, because otherwise, it is hard to prioritize features for future releases and make everyone happy.

fritzeflink

  • Community Member
  • Posts: 55
  • Hero Points: 2
Re: Need help with tag symbols?
« Reply #7 on: August 30, 2017, 11:12:24 PM »
Simple: When you write code, you remember a part of the identifier you want. You type that in and want the IDE to complete or offer you alternatives with the word in it based on context, like classnames or member variables/functions. That's the most important thing. Based on my evaluation now Slickedit does this in 50-75% of the times and then fails in cases where it should succeed and you don't know why. That's frustrating.
As I read here, you're not doing complete parsing. That seems to be an absolute must in my eyes. This is the major turn away point for me. The include thing is probably based on the same lack of complete parsing. Todays projects are so huge (mine is several 1000 source files) that you can't possibly remember every detail. You remember fragments of code or names and when you want to use them, the IDE must support finding what you need based on partial information. That is an absolute requirement and this must not fail, ever. Even if it means longer parsing times.

Another thing that makes VS look outdated is the fact that you can't change the overall color scheme. It's been like that forever. Why not make ALL windows change color, why only the editor window? This is a cosmetic thing but it makes Slickedit look outdated comared to all the other IDs.

Dennis

  • Senior Community Member
  • Posts: 3965
  • Hero Points: 517
Re: Need help with tag symbols?
« Reply #8 on: August 30, 2017, 11:54:51 PM »
You should try the v22 beta.  It has overall color scheme support.