| Summary: | [CView] Common Navigator extensions | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Anton Leherbauer <aleherb+eclipse> | ||||||
| Component: | cdt-core | Assignee: | Anton Leherbauer <aleherb+eclipse> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | enhancement | ||||||||
| Priority: | P3 | CC: | cdtdoug, janees.ek, martin.gutschelhofer, mikhail.sennikovskiy, neerajbhope | ||||||
| Version: | 3.1 | ||||||||
| Target Milestone: | 4.0 M5 | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Anton Leherbauer
Just went through Michael Edger's blog tutorial on the CN (is that the official acronym?). Adopting the Project Explorer as our standard navigator solution opens us up for a lot of cool integrations (such as mixed Java/C projects). I look forward to your proposal. I think this is something we should probably do very early in 4.0. It shouldn't be too much work. Yes this is easy to implement. current CView content provider is comaptible with the CN. We need to implement the IPipelinedTreeContentProvider, to overide the content provided by the resource extention. I think I can provide a first patch rather soon (by the end of June). My proposal is basically a single sentence: Duplicate the CView functionality by means of the CN framework and eventually replace the CView completely with a CN based view. The first step is to populate the Project Explorer with CDT content. Based on that work, we can then rather easily create a new "CView" which is open for extensions from ISVs for their products. Does that make sense? BTW, mixing Java and CDT content in one project is currently not possible yet, because both models have their own specific project roots (IJavaProject, ICProject), but it is possible to view Java projects together with CDT projects in the same view, each with it's model-specific content. To really mix Java/C content, some more work is necessary both on the JDT- and the CDT-side. I think that's what I meant. Proper support for CDT and JDT projects in the same navigator so we don't need to keep flipping perspectives. As for mixed projects, we should start working on a solution to this as well. I don't think the problem is that difficult and I'm sure the JDT guys would be interested in working together on a solution. Once we get the CDT content in the Project Explorer, we can take a closer look at what bad things happen when you have projects with both natures. Created attachment 45522 [details] Project Explorer extensions This is a snapshot of the Common Navigator extensions to populate the Project Explorer with CDT content. It is complete in the sense that it has almost all the features of the current C/C++ Projects view. There are only few features which the CN framework currently lacks and which cannot be easily replicated outside the framework: - browser-like navigation (go into, back, forward, up), bug 115220 - persistence of expansion and selection state, bug 149000 - name filter patterns, bug 118932 Other known limitations: - refactor actions (rename and move) are reused from the "resourceContent" extension, which imposes some restrictions, because those actions are not available if the selected element is an ICElement. The CDT Refactor > Rename action which is available in this case is not applicable for translation units. And Refactor > Move is not available at all currently. While it is possible to add renmame and move actions for translation units specifically, I'd suggest to add support for this in the refactoring code where it actually belongs. - resource name filter does not work for non-IResource elements (.settings folder cannot be filtered away with the .* filter) - no show-in support (eg. in the editor context menu Show In > Project Explorer) - if JDT and CDT extensions are enabled in parallel CDT projects are duplicated - working set filter actions are not on the top of the view menu (working set filters should be supported by the framework not by individual content providers, bug 146555 - the context menu layout is a little bit different and group markers are on different positions than with CView - the wizard shortcuts from the the builder plugins (eg. New > C++ Make Project, etc.) are not part of this patch. I'll post a separate patch for those. I intend to commit this in the next days to the 4.0 stream. Please add feedback, problem reports, etc. to this bug. Created attachment 45567 [details]
Project wizard extensions
This patch adds project wizard shortcuts of the builder plugins to the Project Explorer context menu (New > ...)
Committed to HEAD. Closing. "- if JDT and CDT extensions are enabled in parallel CDT projects are duplicated" How can this be fixed ? It does not look pretty. (In reply to comment #9) > "- if JDT and CDT extensions are enabled in parallel CDT projects are > duplicated" > How can this be fixed ? It does not look pretty. It must be fixed in JDT. See bug 150404. Can we get rid of the CView and the Navigator View out of the C/C++ perspective now? Reopening this bug for the discussion and closure. Never mind. Dave pointed me to a newer one more on the topic. |