Rev.3.7.2 - Type ahead / Indexer does not work any more

Comments

24 comments

  • Avatar
    Michael Johnson

    This area has changed - should be for the better. Can you see if it's project related i.e. try another project.

    0
    Comment actions Permalink
  • Avatar
    Martin Mauersberg

    I have the same configuration and the same issue. Also, the "go to definition" and "go to included file" does not work anymore. I tried different projects. Any ideas?

    0
    Comment actions Permalink
  • Avatar
    Michael Johnson

    Are you using windows/linux or macos?

    0
    Comment actions Permalink
  • Avatar
    Hjalmar Nilsson

    I tried to file a ticket for this, but was unable to do so nice to see someone else is seeing this exact problem as I do. I'm using OSX and this was not the case in the previous release. Please fix ASAP!

     

    0
    Comment actions Permalink
  • Avatar
    peets

    @Michael

    thanks for the fast reply. Made a new project, STM32L073 CW - ctl-Tasking to have some code.

    Built code as generated error-free (added no own code). ctrl-u works as usual. tpye ahead of. e.g. some defined function name or variable does not respond.

    Can I test something else for you? 73, Peter

    0
    Comment actions Permalink
  • Avatar
    Michael Johnson

    I think I've found the problem - doh. For the time being can you start crossstudio from the command line using the -noindex option.

    0
    Comment actions Permalink
  • Avatar
    Hjalmar Nilsson

    Hiya, thanks for the quick answer, then a reply with a noob question, how do I do that? Tried open -a ... -noindex but to no avail.

    Thanks again!

    0
    Comment actions Permalink
  • Avatar
    peets

    ... changed directory to

    "/Applications/CrossWorks for ARM 3.7/CrossStudio for ARM 3.7.app/Contents" and started

    "./crossstudio -noindex"

    -> type ahead worked again but (of course) not with defines/variable/function names because of missing indexer.

    Big Donought for you when it finally works again ;)      73, Peter

     

    0
    Comment actions Permalink
  • Avatar
    Hjalmar Nilsson

    Thank you! if you're on a mac you'll have to add a MacOS before the Contents, now it seems to work as previous!

    cheers

    Hjalmar

     

    1
    Comment actions Permalink
  • Avatar
    Martin Mauersberg

    @Michael - thanks for the lightning fast response. I'm using macOS and the "-noindex fix" works like charm. 

    0
    Comment actions Permalink
  • Avatar
    peets

    @Hjalmar: where do I add a "MacOS" ? which Contents? can you please give more detail?

    0
    Comment actions Permalink
  • Avatar
    Hjalmar Nilsson

    Sorry for the confusion, but on my installation the path in you excellent post is:

    "/Applications/CrossWorks for ARM 3.7/CrossStudio for ARM 3.7.app/Contents/MacOS" 

    then you can do 

    "./crossstudio -noindex"

    and before should be after really.... my bad!

     

    1
    Comment actions Permalink
  • Avatar
    peets

    Sorry Hjalmar, I misunderstood your correction. Indeed I forgot the .../MacOS/ in the path variable in my post. Thanks for correcting me. I was hoping that by some other magic the indexer comes back. So we will wait for Michael earning his Doughnut :)

    0
    Comment actions Permalink
  • Avatar
    Michael Johnson

    I would expect the -noindex behaviour to be the same as a functioning indexer. If you show the Source Navigator window does anything appear?

    0
    Comment actions Permalink
  • Avatar
    peets

    started from command-line as described above. After a while (some starts in between) the indexer started working perfectly. Usually it stopped working after some time; a rebuild or new start of CW solved the problem. Now it is working for more than an hour without a flaw.

    0
    Comment actions Permalink
  • Avatar
    peets

    Michael you are right: the Source Navigator window is full of names. Works great.

    0
    Comment actions Permalink
  • Avatar
    peets

    rev. 3.7.3 on Mac -> all is ok. Thanks Michael.

    0
    Comment actions Permalink
  • Avatar
    Hjalmar Nilsson

    Hi,

    Actually on Mac, it's not ok all the way. One thing to test:

    if you start a line by writing a struct name it will autocomplete the struct members name, but if you do the same in a function call, it won't autocomplete. 

    Example:

    struct mystruct_t
    {
    uint16_b;
    uint 8 a;
    };

    mystruct_t mystruct;

    mystruct. (HERE IT GIVES a/b as members)

     

    void myfunction(uint16_t k);

     

    myfunction(mystruct. (HERE I DON'T GET a/b as members, but have to know the names)

    Am I misunderstanding something?

    I have also noticed that the latest 3.7.3 on a mac when connected to a NRF52 via a CrossConnect is extremely sluggish in response, when you scroll it hangs for about 3-5 seconds every time you scroll.

    0
    Comment actions Permalink
  • Avatar
    Michael Johnson

    Presumably because the code completion expects a struct as a parameter?

    Does starting from the command line with -noindex change this scrolling problem?

    0
    Comment actions Permalink
  • Avatar
    Hjalmar Nilsson

    Yes, sorry that was a really shitty example I see now, but change the definition of that function to a uint16 b instead. Sorry I've updated the example to reflect this

     

    0
    Comment actions Permalink
  • Avatar
    Michael Johnson

    I just checked a simple

    struct X { int x; int y } x;

    void fn(int);

    ...

    fn(x.

    and the code completion worked as expected. Perhaps it's connected with the other point you raise. Is the connection to the crossconnect the significant factor?

    0
    Comment actions Permalink
  • Avatar
    Hjalmar Nilsson

    Hi, the first error has nothing to do with the crossconnect thing.

    The strange thing is that I can do exactly what you do, and it works first few times, then it stopps, and only way to get it to work a few times is to restart the program, then it fails again. 

    obviously I use them in slightly more complicated structures, with lots of files (400+ and a complicated folder structure under) but it still works a few times I've just discovered and then it stopps.

    Is there any way to get an old version (3.7.1 or 0) so that I can continue work? I use 4 different stacks in this project and I can't remember all the struct names so I have to right click and open the .h files, but this also sometimes fails, and I don't get any results at all, even if I manually type filenames in the list. There is definately something strange going on with this indexing.

     

    0
    Comment actions Permalink
  • Avatar
    Michael Johnson

    Sounds like the index process is crashing. Did you try starting with -noindex?

    All old versions are available here

    http://www.rowley.co.uk/arm/releases.htm

    0
    Comment actions Permalink
  • Avatar
    Hjalmar Nilsson

    Hi, thank you for that, the only thing is that when it fails suggestin in the function header it still works on the line before, so I just write mystruct. on the line before, find the relevant member and hit enter, then do a copy and paste it to the function call, that indicates that the index still works in my mind?

    I'll install an earlier version later today, ping me if you want me to test anything else. or need more info to debug!

    0
    Comment actions Permalink

Please sign in to leave a comment.