One of my biggest gripes about Eclipse has always been the use of workspaces to organize projects. For example, I had a client not too long ago for whom I had several Eclipse projects created. I had at least three projects for frameworks alone. Then I had the legacy application and the new application we were building. I’m sure there was at least one more in there too.
Now, it seems like the most widely known way to separate this from your copious list of other projects was to create a Workspace. The problem with workspaces, however, is that to switch between workspaces you must start a different instance of Eclipse. That doesn’t mean you can’t have multiple instances of Eclipse running with different working sets, but it can be a hassle none the less.
So, last time I saw Paul Kenny he, as usual, brought to my attention something which I previously had no idea existed: Working Sets. Working sets are really just collections of projects.
As an example, here’s a long, unorganized list of projects:
As you can see, there’s no organization here. Seeing as I’ve been doing a lot of work on the Alagad.com site, it would be nice if I could see only the relevant projects. To do this I first click on the menu arrow and click Select Working Set…
This shows me the Select Working Set dialog.
Seeing as I have no working sets I’ll create a new one by clicking the new button. This shows the New Working Set dialog.
For my projects I’ve been selecting Resource (or Java – I can’t see the difference between the two) and clicking next. In the resulting dialog I can select the projects I want in my working set.
Finally, I click finish and I am returned to the Select Working sets dialog where I now see my new Working Set.
If I select my working set and click OK my project list will refresh to show only the selected projects.
This is a really handy way to have Eclipse show only what I’m most interested in at the moment. Now that I have my Working Set created I can also quickly deselect it on or off though the same menu we started with.
Comments on: "Using Eclipse Working Sets Instead of Workspaces" (31)
Yeah, it always amazes me when I see CFers switching workspaces all the time. It’s such a cumbersome way to work!
I’ve always used Working Sets and have lots of them defined with different combinations of projects in each.
Good to see a blog post on this topic!
“One of my biggest gripes about Eclipse has always been the use of working sets to organize projects”
Don’t you mean “workspaces” are your gripe?
I love working sets, I don’t know how I would work without them.
@Chris – You’re right. I fixed this. Thanks for pointing it out.
It’s helpful. Thanks a lot. 🙂
Very nice. I’ve worked in Eclipse for a while and didn’t know about this.
Not just projects. Package or directory views within projects as well. You can have a working set that just has your test subdirectories, or your docs.
I use working sets as a huge time-saver to limit scope for Search or Open Resources constantly.
my god man, thank you! I’ve been trying to get my head around workspaces and this solves it all! Cheers!
Eclipse amazes me every day :)=
This was helpful. I’ve been working with Eclipse for years now, and never bothered to figure out what a working set was. Thanks for the post!
I’m so glad I found this! It solved all my problems. Thanks!
This post help me to organize multiple project !!!
Thanks for your explication !!!!
Thanks for this info! Useful. Don’t like the way Eclipse uses workspaces either, compared to other editors/IDE’s like UltraEdit or Visual Studio.
It’s not even possible, as far as I know,
to double click on a project-file to open it in the IDE (default workspace or something).
Furthermore, if you use ClearCase, you can’t have a project in different views (the same name, just different versions) and open/import them in a single workspace. Weird.
I agree that “working set” feature is reducing all the hassle with switching workspaces, but, geez! This feature should be clearly visible and accesible.
I like Eclipse for its flexibility, but from usability and ergonomics point of view it is nightmare…
Hmmm, maybe I haven’t understand it very well, but I really prefer the way Netbeans manages project, withouth the notion of Workspace, only project groups. What do yo think?
I wish there was an option to save the currently opened set of editors as a working set. I’ve traced a problem down but have to work on other items. It would be nice to save the ‘call tree’ to open all at once when I am ready.
Will this prevent m2eclipse from constantly refreshing and bogging my entire system down, or is this more a way to just change the view to make it easier to navigate to what I’m most interested in.
it’s helpful but still I can’t add project locating other places from workspace to the workspace, this is the key question
Clearly I don’t understand how to use working sets. When I change to a different one, searching (control-h) doesn’t switch with the working set. I have to select it there… And “windows working set” doesn’t limit the search to the working set.
This is all nice and dandy, but the working sets need to be set manually in all the views – explorer, Problems, Search – it’s a nightmare! Let’s say I want to focus on a specific subset of projects and I set the explorer working set to this subset – I still see problems in other sets.
In this relation it behaves differently than workspaces.
You are a lifesaver I am a computer science student and work on 3 programming projects at a time plus stuff from my job and am relatively new to eclipse this is a very nice way to keep things organized. Thanks for the post
Thanks man, this was of great help! Best way to keep Eclipse tidy even if you have 50 or more projects…
Really good feature – I am sure many developers may not aware of this beautiful feature
What’s missing, however, is “Refresh working set”.
I use the Working set to just search in a subset of a large project, and even now (Helios) we are still plagued by the ‘out of sync’ message which should have been dealt with in 2.1.
Refresh on the whole source tree just takes too long – the Working set concept should be of use consistently throughout.
Thanks a lot. Its helpful.
I’ve been messing around with Eclipse since the the second or third version, but I make a living with Visual Studio. After a few years I figured out that what was hard about learning C++ and Java inside Eclipse WAS Eclipse.
When you folks start talking about an issue like Workspaces and Working Sets and say how ‘convenient’ it is, it just makes me think you haven’t worked with an ‘integrated’ dev env.
Now, you may say therefore I’m a bigot or a basher or something that means anyone that doesn’t start out where you are.
But think about it: a solution file in VS knows how to complile and link and save to source and validate and search through and profile and remote deploy and remote debug and and and… with ANY group of Projects you want to put in it of any type or language supported.
But what you folks are talking about is a folder marked as a boundary for files (workspaces) or a filter of project names in a list window (working list).
But of course I can solve that!!! you may say (talking about this aspect or that aspect I may have mentioned). And you might be right that you could figure a way to do one or two of those things, maybe a little bit of the way. But you’d be doing it ‘your way’. And who’s to say whether enough of the thousands of contributors to Eclipse would see it your way and perpetuate rather than bump off your fix. (And the ‘nasty proprietary boys’ do it with a team of maybe 100 or so, probably half that).
For sure, I know how big the learning curve is between the ways. But I really think it’s just about individual bandwith: if we could all know both systems to the extent that we could produce code that satisfies customers in equally well using both or either of them, I don’t think anyone who was considering just the products and their capabilities would ever say Eclipse was in any way equal in facility or productivity.
Try this video on the visual crash dump debugger in VS 2010 that allows you to open up a dump file and browse around graphically and then push ‘debug’ and VS will open up to the last line of code it executed (from the dump file? how’d it find that??!!!:
Or this one on the absolutimentally confounding Concurrency Visualizer Profiling Tool that will browse graphically through any multithreaded or parallel programmed app and show you exactly what’s happening on each thread or processor at every step. and then can also graphically show you the place and the thread that is stuck and pop you right into the line of code that’s stuck!!! And it has TEMPLATES that show you the kind of thread usage PICTURES you get with common concurrency problems so you can just look at your usage and see WHETHER YOU CODED A PROBLEM or HOW YOU CAN MAKE IT GO FASTER.
But, of course, maybe you want to talk about the wonders of PERL or something…
Call me a bigot if you wish, but spend a year on Visual Studio first, then we’ll talk.
Does switching Working Set automatically close all Projects in your current Set first, before switching to the new Set?
Nope. It just filters the list.
It’s a very helpful!! Thank you! I like this feature!
Thank you! Really really helpful!
Man…. I thought that the IDE war was over years ago…. There is no perfect solution. All tools have their pros and cons. Unless you get some extra money from “the propriety boys” you shouldn’t be so aggressive.
Oh! And something else… Eclipse was the reason you could not learn C++ and Java! Really? hahahaha!!!!! (sorry i couldn’t help it)
Thanks a lot !