I found a workaround
Switching the workspace back to the same workspace you had problem with solved it.
File -> Switch workspace -> [Select the same workspace you had problem with]
Not sure why it worked.. But it WORKED :)
If you have "build automatically" option set, then whenever you save the file locally Eclipse will try and save it to the server.
Otherwise you have to explicitly use "Force | Save to server".
--edit--
Since you have the build automatically checked, it must be something else. Perhaps the org is locked at the time because of running tests?
Have you looked at the Eclipse progress window? (you can add this to your view)
When you hit save, this should be where you see the status of the save to server when build automatically is checked.
What do you see now in your progress window if you try and save? Is there an error message?
edit2--
Another possibility is that you have somehow enabled "work offline" mode on your project. In this case it will still do the "save to server" on demand but not for normal saves even when build automatically is on.
And when you select it you are warned
edit3--
One quick check to make would be to ensure that the classes are referenced in your package.xml Although, since you find it works when you manually "save to server" then this should not be the problem. Check this in Force.com | Add/remove Metadata Components and then ensure your class is listed there.
Other than that, can you try and pin down particular files that are affected? Is it a repeatable problem - try force "save to server" on a file.
Then add a line or comment and do a normal save.
Observe if the "polling server" progress appears.
Check in the Problems window for anything like this
Once a file is out of sync you will need to resolve it and force save (this can happen if there is a problem communicating with the server or if someone else has updated the file and the instance copy is more up-to-date than your local one).
Best Answer
Are you getting some kind of error? Does it just hang indefinitely? Hard to say without more details so just check these hints in no particular order:
There's a limit of max 5,000 items obtained in one retrieve / deploy session. If you suspect there are tons of reports in one of folders you're refreshing you'll have to somehow split it up. You can check the count of items in each folder with a query, for example
(there will be 3 types of Ids - your own User Id to indicate "my personal custom reports", real folders' Ids and the Organization id to mark "unfiled public reports")
Eclipse is known to throw weird errors, for example Unable to refresh src from server using force.com IDE For me it happens after I create new project (it's created OK but can't retrieve any files). I need to close it, open up (sometimes with "run as administrator") and then it works OK... but this might be a "cargo cult" and indeed tips like swith workspace might be the simple solutions.
If it hangs on "Add/Remove Metadata components" you might decide to edit your
package.xml
by hand (it's not rocket science), maybe even create subfolders of the "reports" directory and refresh only them by right-clicking directly instead of on whole "src". Sample section might look like thatIf you're retrieving data and Eclipse seems to be hanging - does the
[workspace]/.metadata/.log
file contain anything useful? If you're deploying - monitor deployments in the Setup?Report
table, especiallyLastRunDate
column... you should be safe notifying users that you'll delete anything that was not touched in 1+ year (well, check if anybody has some reports he accesses only near the year's end ;)), wait a bit and delete right away without moving them around? This table does not support delete operations so you'd be either looking at destructive deployment, tons of manual clicking or a cheat like accessinghttps://eu1.salesforce.com/{reportId}?delrep=1