Bug 5651 DCR: Please split up the "Use 'src' and 'bin' folders..." preference
Please split the "Use 'src' and 'bin' folders as default in new Java projects" preference into two separate preferences as follows: [ ] "Use 'src' folder as default in new Java projects" [ ] "Use 'bin' folder as default in new Java projects" The best way to describe why I would like this is to paste here a posting I just made to Eclipse Corner that describes how I work. You will notice that I have to do a couple of extra steps to get rid of the 'src' folder. I would just like to eliminate those extra steps. Here is the post: When I run Eclipse, I specify where I want my workspace to be, i.e. C:\eclipse\eclipse.exe -data D:\Eclipse\target So, Eclipse stores all of my projects in D:\Eclipse\target, even though I am running it from C:\eclipse. Of course, the .java and .class files are all mixed together, which I don't like, so when I create a Java project, I tell Eclipse to create 'src' and 'bin' folders. (Window -> Preferences -- Java "Use 'src' and 'bin' folders as default in new Java projects.") Now for one final step, which I do because I don't like the 'src' folder <grin>: - First, I delete the 'src' folder - Then I modify the Properties of the Project (select project, context menu -> Properties) and I also delete the 'src' folder from the Java Build Path - "Source" tab. - After this, I usually select "Use the project as source folder" in the "Source" tab (unless I want to have some other named source folders in the project (not 'src' <g>), in which case I just leave "Use source folders contained in the project" selected). At this point, I am ready to start adding packages to my project. The compiler puts all of my .class files for the projet into the 'bin' directory in: D:\Eclipse\target\MyProject\bin
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerPart.java
if (original != null)
					element= original;
			}
			try {
				element= ((IJavaElement)element).getUnderlyingResource();
			} catch (JavaModelException e) {
				return null;
			}
		}
		if (!(element instanceof IResource) || ((IResource)element).isPhantom()) {
			return null;
		}
		return (IResource)element;
	}
	
	public void saveState(IMemento memento) {
		if (fViewer == null) {
			
			if (fMemento != null) 
				memento.putMemento(fMemento);
			return;
		}
		saveExpansionState(memento);
		saveSelectionState(memento);
		saveScrollState(memento, fViewer.getTree());
		savePatternFilterState(memento);
		saveFilterState(memento);
		saveWorkingSetState(memento);
		saveMemberFilterState(memento);
	}