Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Language IDEs » C / C++ IDE (CDT) » Plugin: New Project Nature using existing CDT components(Question on if its possible to create a new project type in the project explorer using existing components)
Plugin: New Project Nature using existing CDT components [message #1824014] Mon, 06 April 2020 14:02
Colton Murphy is currently offline Colton MurphyFriend
Messages: 6
Registered: July 2015
Junior Member
I am investigating which available toolset can best meet my needs. Currently, it does not seem like Eclipse CDT properly supports how I would like to structure / build my projects. Therefore I would like to ask if what I want can be done by making a plugin.

My ultimate goal is to support nested projects within a super project. I know there has been some discussion going around on this feature for C / C++ projects. Basically the use case is that I want to show a super project with its proper hierarchy in the project explorer rather than each nested project ultimately showing in a flat hierarchy. This not only allows multiple "super projects" to be checked out in the workspace with different names (sub projects can have the same names, which would be a problem with the current project explorer), but also allows the proper grouping to visualize the project structure. Each sub project could be listed in the tree view under the super project and have its own build configurations. The super project can be envisioned as a "solution" in Visual Studio terminology.

Currently I am using a plugin from a 3rd party vendor that implements the standard CDT interfaces for integrating its C/C++ toolchain. I do not mind writing a plugin that implements all of this behavior from scratch and reimplementing the vendors stuff. This would include the navigator contents, right click context menus, etc.. My current issue is how to get the features of CDT "to work" in the editor.

I don't have a lot of knowledge on how CDT works, but I have been doing my research. I think what I want to do is create a new CDT project for each sub project programatically, because each sub project will have its own include paths / options etc.. - so each sub project will have its own index for each of its build configurations. The question is, how do I "attach" this index functionality (go to definition, autocomplete, etc..) to the editor? How does that work? If a CDT project is created programatically in the plugin, when I open a .c file or whatever in the editor, does one of the CDT instances know which file I opened and then "ta-da" I get all the go to definition / autocomplete / etc. just working immediately? Since I am going to be implementing my own versions of navigator content using the extension points, double clicking on a .c file would programatically open in the editor.

Also, I realize that there are tons of ways to do what I want, such as using a gradle project. However, I want a much more integrated feel to the menus and buttons rather than what I can do currently using the gradle plugin. Additionally, there is a lot of custom functionality I would like to put into the plugin when it is importing / loading projects such as complex web downloads that would not be provided in the standard gradle plugin or any other build plugin that I can see.
Previous Topic:Debugging using Docker - Executable/Code on docker
Next Topic:Compiler does not find header files in virtual folders
Goto Forum:
  


Current Time: Thu Apr 25 09:48:36 GMT 2024

Powered by FUDForum. Page generated in 0.03685 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top