This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

"Open Definition" not available in CCSv5

I'm currently using CCSv5.2 and I have been unable to find the "Open Definition" indexer search function.  "Open Declaration" (F3) works fine but isn't very helpful when I'm searching a large project for a Function Definition.  I know "Open Definition" was present in CCSv4 (I've searched the forums - see link below) and is typically assigned to F3 or Ctl+F3 on most Eclipse based IDEs.

See the following post for a similar issue: http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/160631/586014.aspx#586014

Can/will TI please bring this functionality back?

-Jesse

  • HI Jesse,

    have you been experiencing issues?  Have you indexed your code?  In CCSv5 F3 should do either an open declaration or open definition automatically depending on context.  For example if you have indexed your code and use F3 on a function, it should take you to the functions definition (behaviour I have just verified)

    Are you trying to index/reference external files?

    Best Regards,

    Lisa

  • Hello Lisa,

    I did a little further investigation and it appears that F3 will take me to function definitions in the source files (*.c) if they are included as source in the CCS project but F3 will only take me to the function declarations in the header files (*.h) if that source is linked in to the project through a library (*.lib).

    The example I can give is by exploring the EK-LM4F232 board "hello" project which utilizes the Stellaris graphics ("grlib") and device driver ("driverlib") libraries.  In CCS, from the StellarisWare package, I import the "driverlib-cm4f", the "grlib-cm4f", and the "hello" projects.  The "hello" CCS project contains the main project file ("hello.c") and the necessary settings to link in the "grlib" and "driverlib" libraries.  If I press F3 while highlighting one of the "grlib" functions in "hello.c", CCS takes me to the that function's declaration in "grlib.h" but will not take me to the function's definition in the associated *.c file located in the "grlib-cm4f" project which is linked in as a library.

    I suspect that all my issues stem from the inclusion of the drivers as a library and not as direct source into the project.  Is there a way around this behavior?  It's very interesting that CCS will take me to the function declaration in a *.h file of the included library but not to the function definition in a *.c file of the included library.

    Thanks in advance!

    -Jesse

  • Jesse Griggs said:

    I suspect that all my issues stem from the inclusion of the drivers as a library and not as direct source into the project.  Is there a way around this behavior?  It's very interesting that CCS will take me to the function declaration in a *.h file of the included library but not to the function definition in a *.c file of the included library.

    I can confirm that this is a problem in general. When you start to factor you project with libraries you definitly lose the F3 functionality. The normal operation for me to locate a definition is search for text in workspace. It's not satisfying to use text search. But sometimes it gives you a hint how you use the defined function.

  • CCS v5.3 should have a fix for F3 navigation between main / dependent projects as long as your library project is marked as dependent project in your main project.  

    Regarding Open Definition/Open Declaration change between CCSv4 and CCS v5, this was due to eclipse (CDT more specifically) change. see details below. 

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=167162

    Martin