Bug 71521 - Add/remove nature
Summary: Add/remove nature
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows XP
: P3 enhancement with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-05 17:03 EDT by Ed Willink CLA
Modified: 2020-09-04 15:27 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Willink CLA 2004-08-05 17:03:47 EDT
It would be nice if the various CDT C/C++ managed/standard natures could be
added and removed at will (or after a do you mean this prompt).

As a minimum it would allow reference projects to be enabled/disabled for
C++ functionality. This is particularly important while the indexer has
severe performance issues.

It should also support C to C++ or managed to standard migration.
Comment 1 Alain Magloire CLA 2004-08-16 10:46:11 EDT
> As a minimum it would allow reference projects to be enabled/disabled for
> C++ functionality. This is particularly important while the indexer has
> severe performance issues.

you can do this without changing the nature there is a Property Page
to disable the indexer, is that enough ?

see Property "C/C++ indexer"
> It should also support C to C++ or managed to standard migration.

You can convert to std make, but it does not remove the managed builder
But you can remove the managed builder on the prorpety page.

See Property page "buiders"

But I guess you are looking for a more general solution
can you make a specific enh bug only for this "Migration from managed system
to standard make" and vice a verca

The convertions wizard we have in the other category does not remove builders
nor nature but only add.
Comment 2 Lev Epshteyn CLA 2005-07-07 11:44:54 EDT
I think generally speaking the ability to add/change project natures should be
available.

For example, we use eclipse in the office for web development - projects get
started by HTML people as simple resource projects, then picked up by java
developers who need to make them Tomcat projects. This is currently a royal pain
in the behind even though all the directory structures are correct.
Comment 3 James Blackburn CLA 2007-10-12 04:46:03 EDT
Just spent some time trying to convert a PDE plugin project to be both Java and C/C++...

Needless to say it took me a while to find File -> New -> Conver to C/C++ Make Project. This isn't intuitive and seems to go against the "Add/Remove Nature" approach taken by other plugins.
Comment 4 Ed Willink CLA 2007-10-12 09:52:17 EDT
Readers who care about this should look at and perhaps vote for #36959.
Comment 5 Doug Schaefer CLA 2007-10-15 07:44:16 EDT
In general, Eclipse users don't know what natures are. They are an implementation detail. Converting projects to support C/C++ is the correct terminology.

I do agree having the convert wizard with the New wizards is very confusing and it would be a good idea to find a better home for it. Just right now there isn't one.
Comment 6 James Blackburn CLA 2007-10-18 05:29:13 EDT
Indeed, it is confusing.  It would be nice if when a C File is opened the Nature was automatically added to the Project(or there was some explanatory dialog box).  Automatically adding the nature is done by pydev, for example. (They've also added, in the most recent release, a PyDev -> "Set as PyDev Project" to the context sensitive Project popup-menu.)

If the user hasn't explicitly created a C/C++ project then the likelihood is the project is mainly Java (or whatever), but they probably expect the C features to just work (as well as is reasonably possible).

Whether this means a minimal 'standard' make is all you can reasonably give, it seems wrong that on opening a C File nothing (save highlighting) works -- e.g. the Outline view is not populated and the Editor popup menu has no C/C++ specific items in it. However on adding the CDT nature, these features do work to some extent -- even without performing a build or configuration of any kind.