It seems to me these two views are virtually identical, especially since Galileo. Is this true, or am I missing out on some features of one or the other?
Some differences I see (in Juno) on a Java project:
That's why I keep the two tabs side-by-side. :-)
One reason for preferring the Package Explorer is it is the only explorer that appears in the list when you select "Show In" on a file that is being edited or has been found in the Search view.
My Project Explorer hides folders that belong to a source code management system while the Package Explorer shows e.g. the .git
folder. Also, the Package Explorer offers more options that work with the source code, e.g. the refactoring stuff.
One thing I just noticed is that, at least when developing Java Android apps, Projects will not show up in the Package Explorer if their project.properties file is borked or non-existent.
I had only been using the Package Explorer and had the Project Explorer hidden, and I was pulling my hair out trying to figure out why my imported project wouldn't show up. My console was saying the project had no .properties file but it was not visible for me to right click -> fix properties
. Then I opened the Project explorer and it was there as it should be.
I believe the Project Explorer is meant as the successor for the Navigator, and is (for the most part) language-agnostic.
The Package Explorer is specifically for Java projects, that's why it has stuff like refactoring in its context menus. The Package Explorer also shows Java classes and packages (as the name implies), while the Project Explorer shows folders and .java files.
According to the Eclipse help, the Project Explorer
provides a hierarchical view of the artifacts in the Workbench, which is customized by the specific configuration of your Workbench.
With only the java developer tools (JDT) installed the Project Explorer nearly looks and behaves for java projects as the Package Explorer (including refactoring and other source code operations in the context menu). But Project Explorer is usable for other languages and project types as well.
Additional plugins contributes "extra information" to the Project Explorer view making it much more "sophisticated". For example if you have the web tools installed and you have a Dynamic Web Project, the Project Explorer shows you additional tree nodes like Deployment Descriptor and JavaScript Resources. You can see (and configure) all available contributions in Project Explorer / Customize View... / Content.
For example using SpringSource Tool Suite 2.1.0 I have additional nodes for web projects, spring beans and web services. Because of this I favor using the Project Explorer.