Eclipse stop background refresh - eclipse

Eclipse 3.7
This is not related to How do I stop Eclipse from refreshing some dir? as I am okay with eclipse project refresh on startup.
I have my project sources in a network drive (I need to use Eclipse in Windows and Run the code in Linux). Periodically Eclipse freezes and I am fairly sure this is because Windows is frantically trying to access the NAS area and it is slow. I would not be changing the source files outside of Eclipse so I don't need features in eclipse such as refreshing a file when it is changed in background.
Questions
Are there any known ways of speeding this up? Suggestions like disabling local history, refreshes etc?
I also have a feeling that this freezing is because Eclipse tries to actively detect if files are changed in a file system and when you do that over several files it causes delays (I can be wrong on this). Is there any way to disable this? (In IntelliJ I could do a background refresh)

Look at Preferences / General / Workspace and see if Refresh using native hooks or polling and Refresh on access are checked. If so try turning them off.

Related

Eclipse Freezes Constantly

I've heard rumors about "Eclipse's minute of silence", but I had no idea how bad it is.
I've installed a brand new Eclipse (from a ZIP package) and only installed the JBoss tools. Now Eclipse freezes at close to each key shortcut, but at least once every 30 seconds. Ctrl+C? One minute Freeze. Doesn't copy. Ctrl+D? One minute freeze. Also, doesn't delete any lines. Clicking into an editor? One minute freeze. It also takes everything with it, so e.g. my browser won't work while Eclipse freezes.
It is not possible to work like this. At all. My colleagues just went back to Eclipse 2018-09, but I need Java11, so I can't.
I could not find any bugs for this issue (a lot of bugs for Eclipse freezing, but none that should still be present in 2018-12).
Anyone else experienced something like that? It's our entire office, so it's not just one faulty computer. Could it have something to do with how Eclipse scatters its config files over the hard drive? Maybe it can't read the 2018-09 config files or something?
If you use the Project Explorer, this could be caused by bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=536918 which is already fixed for Eclipse 4.11 (and will be released as Eclipse 2019-03 in March)
You can use an integration build from http://download.eclipse.org/eclipse/downloads/
As workaround, it might also help to to close the Project Explorer View (in all perspectives) and use the Package Explorer instead.
As others have written, it might also be a memory issue. Open the Eclipse Preferences and
in the General section enable Show heap status so you can see it at the bottom of the window.
If this is the problem, edit eclipse.ini and increase the memory settings (open eclipse.ini and increase the number of the line with -Xmx. If you have a mac, right-click on the Eclipse Application, choose Package Contents, find it at Contents/Eclipse/eclipse.ini)
I was facing this "lagging"/"freezing" issue in Eclipse 2018-12 until I did this.
in eclipse.ini
-Xms256m
-Xmx4096m
Of course it has not stopped "freezing" completely, but The number of times has been tremendously dropped.

Microsoft scr***ed my Eclipse preferences: how to recover?

I have not typical issue: namely I installed VisualStudio Community edition from official Microsoft page and this s**t totally damaged my laptop (it first changed some system settings without my consent, later computer got not responsive at all)my laptop - I was forced to reset OS to factory settings (Windows 8.1 64b) as no other repair attempts worked - thank you, friends from Redmond! One of weirdest things is that this software changed my Eclipse preferences and the problem still persists: background in Eclipse is not dark but black and code is very hard to read. When I go to Window->Preferences->General and change it to default, then theme gets changed only for the file that is currently open(?).After restart of Eclipse the black motive is back. Moreover, when I click any line, it gets highlighted in black - as if there was an additional display pattern deeper 'under the skin'.I know that a screenshot would be more informative but I don't think it can be attached here.
What may shed some light on the issue is that, when I go in Eclipse to Window->Preferences->Appearance I am presented with following themes to choose from:
%theme.dark, %theme.classic etc. No idea what the % sign mean.
How can I get normal default theme permamently? - perhaps it would suffice to delete some preferences file but I am no very adept in the Eclipse staff and not sure what can be safely removed -just don't want to spoil it more than it already is. I am using Eclipse Mars,located in C:\Users\myUsername\java-mars\eclipse, if this matters.
Eclipse is my main working tool for next couple of weeks before I move to IntelliJ and the issue is really onerous for me. Anyone could help, please??
I can't imagine how Visual Studio could break eclipse, maybe some path conflict, but VS has no idea where your eclipse is. Maybe opening the same project in the workspaces with both and there were some overwrites? IDK.
Eclipse has no dependencies other than JAVA_HOME (or finding java on the path).
That said, workspace settings are stored in /.metadata folder. You can safely blow this away. Depending on how you have your projects organized, you may need to reimport your projects (I am assuming you are using a code repo) so this shouldn't be a problem.
If that doesn't work, blow away the java-mars/ folder tree and unzip a clean version. NOTE: If you do this and open the existing (broken) workspace you will pick up the existing (broken) settings.

eclipse annoyances: Debug and Launch toolbars unavailable

I am running Windows XP and Eclipse 4.2.2 Build id: M20130204-1200 and I have lost my Debug and Launch tool bars. I have tried Windows>Reset Perspective (original values) and Window>Customize Perspective's (Tool Bar Visibility and Command Groups Availability) tab options. I have tried the Layout option on Debug view. All failed to bring them back. Right now, I am looking at Tool Bar Visibility tab and a message that says: <"Debug" cannot be made available because it is in the unavailable "null" command group.> However, the Debug checkbox in Command Group Availability is checked.
I have also tried right-click and Reset on the perspective buttons.
Switching to another eclipse installation (same machine) did not help either.
Rebooting does not help.
Are there any text configuration files where this data is stored that can be manipulated outside eclipse?
I had this problem in Eclipse Kepler, it turns out it was caused by PyDev plugin. I fixed it by uninstalling the plugin and right-clicking on the Debug perspective button and selecting Reset.
I had already installed a fresh copy and the problems persisted. But, encouraged by user714965 comments, I tried again but that did not resolve the issue. Then, I threw away all eclipse installation folders (to recycle bin), re-installed fresh copy, and the problem persisted. Then I started a new workspace, and it seemed like the tool bars were back. Then restored previous eclipse installations and they had the Debug toolbar as well!
I am thinking somehow the customization config files were broken. It would be nice to know where the these files are stored (my original question): Are they global for each user on the machine or are they workspace specific? It seems to me that some customizations are global, while others are project specific.
May be it is time to try the new Android Studio :-)
Seems as your eclipse is broken. The fastest way to get it back running will be downloading a fresh copy from eclipse.org. You can continue using your current workspace so your settings will remain. But you have to re-install all plug-ins... I'm always keeping a backup of a fresh release with the plug-ins I'm using. I would suggest you to do the same in the future.

Integrate Sublime Text with Tomcat

At work, we develop Java applications and are using Eclipse. As a frontend dev I would like to switch completely to Sublime, but it's missing a feature of Eclipse, I can't work without it.
When developing, I had to build the project with Maven and publish it to a Tomcat server. Eclipse does this all automatically and also republish changed files.
I came so far, building the app with Maven and publish it to Tomcat with the Maven-Tomcat plugin. But with Tomcat 7 republishing isn't possible and changed files aren't copied to the working directory. So I have to leave Eclipse open and refresh its workspace everytime I changed files in Sublime.
Would it be possible to integrate this functionality into Sublime with any plugin?
Rather than deploy to a specific Tomcat 7 container that you ave set up yourself, I would instead use tomcat7:run to start a live container based on the unpackaged web app.
That should get you pretty much exactly what you are after.
If you don't mind switching to jetty as a server container jszip:run can get you even more, but I'm still working on getting that plugin to beta quality so ymmv
What about this plugin https://github.com/nlloyd/SublimeMaven? I'll try it tommorow and then I'll let you know if it do the job (if it will work with ST3).
Eclipse has a feature for this. Select "Refresh using native hooks or polling" and "Refresh on access". You should select both. I have tried only selecting "Refresh using native hooks or polling", but it works only when you keep open the specific file in eclipse and modifying it outside. "Refresh on access" also not working alone. With these options combined it works charmingly.
PS: Native hooks available only in Windows. For Linux and Mac polling is used. I don't know how efficient it is.
I had this problem too. The workaround, is to open both eclipse and sublime, and instead of refreshing your project manually in eclipse every time you have made some changes in sublime, u can can use this plugin https://github.com/psxpaul/EclipseJava7Refresher to make the refresh automatically.
PS : As mentioned by #Kapil Dev S, eclipse (with "Refresh using native hooks or polling" checked ) can refresh automatically resources when changed, but it doesn't detect changes as soon as it happens (it takes some seconds, at least for me on Linux)

Can Eclipse refresh resources automatically?

Eclipse (3.4.2 with PyDev) deals with out-of-sync resources (files that have been edited outside of the IDE) differently from other IDEs that I've used, where only resources with editors open are considered out-of-sync. In Eclipse, any resource can go out of sync.
This means that when I perform a search after any file has changed outside of Eclipse, I get an error dialog telling me that files are out of sync, even if they have no open editors. As far as I can tell, there is no global refresh command, so I'm forced to read the project names (I have several projects) in the error dialog, and do a right-click + refresh for each of them.
I've checked the Refresh Automatically setting in Settings > General > Workspace, but this has no effect. Is there any way to get Eclipse to always just load non-active resources from disk?
This issue will be fixed in Eclipse 3.7 (Indigo). While "Refresh Automatically" does eventually bring resources back into sync, the refresh hook only exists for Windows, so on Linux and Mac OS it has to poll the filesystem periodically.
From 3.7 there's a new preference Settings > General > Workspace > Refresh On Access (aka Lightweight Refresh). This preference causes Eclipse to automatically refresh resources when it discovers that they're 'out-of-sync'. When opening, reading or searching files, it'll prevent out-of-sync errors from occurring.
See also: https://bugs.eclipse.org/303517
I think if you click on the project node in the Project Explorer and press F5 or right click and select Refresh, all resources for that project will be refreshed. Also, if you CTRL+click on multiple projects, you should be able to refresh multiple projects at the same time.
A single click on a project, a CTRL+A to select everything, and an F5 should do exactly what you need - refresh everything.
I'll have to test this when I get the chance, but I believe this is how I overcame similar problems in the past.
I've noticed that this answer routinely is getting down voted. I'd like to point out that the question refers to a specific version of Eclipse: 3.4.2. There was actually no automatic method to refresh out-of-sync resources until version 3.7 Indigo of Eclipse, as mentioned in James Blackburn's answer. The method described in this answer is the only method to achieve this in version 3.4.2 (and any other version before 3.7 Indigo).
Out of synchronization problem is common in eclipse IDE so you have to check this option windows -> preference -> Workspace -> refresh using native hooks or polling.
Eclipse Helios possesses a built in refresh feature at Preferences > General > Workspace. It's in the same spot where you disable automatic builds. Select refresh automatically. A plugin with the same functionality is Andrei Loskutov's Filesync Plugin. The update site address is: http://andrei.gmxhome.de/eclipse/. During installation, select Eclipse 3.5-3.7 plugins > FileSync.
Given that Java 7 has an api for filesystem hooks, one would think that refresh could be handled better in Eclipse.
Edit: Actually, there is a plugin that uses this mechanism: https://github.com/psxpaul/EclipseJava7Refresher
There is a global refresh - have nothing (or everything) selected in the package explorer and press F5 (or right-click on empty space and select Refresh). Of course, this could take rather long if you have large projects.
The global refresh actually exists in plain Eclipse without any plugins and without selecting every project in your workspace.
Basically you need to deselect everything in your project explorer and hit F5. To do that Ctrl+click the selected resource in the project explorer and hit F5.
A global refresh is really missing in Eclipse. The above procedure with selecting all projects and then running refresh (e.g. F5) does not work if you have closed projects included in your selection. This means, if you have 1/2 of your many projects closed as I do, you find yourself manually Ctrl-clicking through your dozens of projects. This is quite painful. I wish Eclipse would simply ignore closed projects.
Perhaps you should add a feature request on the eclipse site:
https://bugs.eclipse.org/bugs/
I think it would be a great idea to add a preference for automatically refreshing out of date resources.
Yes, Refresh on Access is long overdue ... those answers to this and similar enquires usually suggested enabling the global auto-refresh, which could take an age for large remote projects.
In fact there are those who would say that Refresh on Access should have been the original (< 3.x) default behaviour ...
I managed to solve this by creating a new "external tool" run config that executes a blank batch file. In the run config, you can have it refresh the workspace when complete. Then I created a macro using Practically Macro that 1) executes the last external tool run config (refreshing the workspace), then 2) executes the last debug run config (running my app). If you uncheck "Allocate console" then the completed external tool entry won't show up in the debug window.
Even if the solutions proposed by others perso are indeed correct, you have a "Refresh All" plugin for Eclipse. Simply add the Update page to your Eclipse list of update sites to install it in your IDE.
For Starting up there is an option to automatically refresh files in
Window -> Preferences -> General -> Startup and Shutdown -> Refresh workspace on startup
Click it in order to have a "fresh" start in eclipse. :)
Version: Eclipse 4.12