How to change the *default* default encoding in Eclipse? - eclipse

Every time a new workspace is created, Eclipse defaults to Cp1250 encoding.
Whenever I create a new branch of the project, and as result switch to a new workspace in Eclipse, I need to go to Window -> Preferences -> General -> Workspace : Text file encoding and manually switch to "Other: UTF-8". If I forget this step, Eclipse mangles the UTF-8 characters in the project files.
Can I change the default somehow, permanently, so that all new workspaces start as UTF-8 without need to switch them manually?

Actually, it is quite simple:
Create a defaults.ini file in the Eclipse configuration folder. For example, if Eclipse is installed in C:/Eclipse create C:/Eclipse/configuration/defaults.ini. The file should contain:
org.eclipse.core.resources/encoding=UTF-8
If you want to set the line terminator to UNIX values you can also add:
org.eclipse.core.runtime/line.separator=\n
In eclipse.ini in the Eclipse install folder (e.g., C:/Eclipse) add the following lines:
-plugincustomization
D:/Java/Eclipse/configuration/defaults.ini
You might need to play around with where you put it. Inserting it before the "-product" option seemed to work.

This appears to be determined by this code in org.eclipse.ui.WorkbenchEncoding:
/**
* Get the default encoding from the virtual machine.
*/
public static String getWorkbenchDefaultEncoding() {
return System.getProperty("file.encoding", "UTF-8");
}
So it is taken from the 'file.encoding' environment variable, defaulting to 'UTF-8' if that is not set.

This is one of the key things that Eclipse Oomph was created to solve, the ability to set default default preferences, i.e. preferences set across workspaces.
You can go "whole hog" and adopt using Oomph as a full Eclipse Installer and share the install scripts between your team members. The installer can configure everything from which plug-ins to install, to default preference values, to where to check code out from.
Preference Recorder
However, for now you can simply use the Preference Recorder.
Install Oomph, it is possibly already installed if you are using Eclipse Mars. If not, from the Mars update site you can install "Oomph Preference Management"
Open the preferences page, you should now have a new icon next to Help in the bottom left. It will allow you to turn on/off the preference recorder:
With the recorder on, change your preferences you want, in this case your encoding, then press OK. You will then be asked if you want to track the changed preferences across your workspaces. You can change the values in the User Policy column.
Now if you create a new workspace, those tracked preferences will be applied to the new workspace.
If you want to see what is being recorded, in Preferences, see Oomph -> Setup Tasks -> Preference Recorder
To access the full setup configuration, press the button to the right of the Record Into drop-down (top right of UI) and the setup file will be opened in the editor, where you can do further control and mods:
PS. the default default of the encoding is a hotly contested issue at Eclipse, hopefully the default default will change to UTF-8 everywhere.

in eclipse.ini add :
-Dfile.encoding=UTF-8

Related

Distributing eclipse with UI customizations

I would like to use Eclipse in an intro programming class. Is there some way I can make some kind of preferences file or some such that I can distribute with it that would set defaults for:
which buttons are in the toolbar
which menus are enabled in the application
which context-menus are enabled
what kinds of completions are available
I'd like it to start with only completing words from the current document
that is no Java API completions or code generation or whatever
This can be done using Eclipse Preferences File. All you need to do is import preferences into your workspace.
You can also export the workspace folder itself & publish Eclipse together with a default workspace folder, which will contain all the preferences.
Then create a shortcut to start eclipse with -data <path to your workspace> parameter
I'd try the following:
Install Eclipse
Put the configuration files and workspace under version control and commit.
Configure Eclipse as required.
Check all the changes in the version control to understand what configuration files are relevant to my changes.
Continue as Zilvinas is suggesting.
Look into Eclipse Oomph. It essentially automates all the tasks that you need to do to set up a fresh dev environment.
Also of interest are Yatta profiles which do a similar thing based off Oomph.
They're pretty easy to set up and publish. Get your local eclipse working, record to a profile, publish the profile, get your students to consume said profile. We've used these in a professional environment to more easily on-board new devs!

Eclipse Syntax Coloring reset after restart

I installed Ubuntu 15 new and I installed eclipse Mars.
Now, I want to have the syntax highlighting exactly like in visual studio, so i downloadet the .epf here http://eclipsecolorthemes.org/?view=theme&id=23347 and imported it into eclipse.
Until here, I have no problems, but when I restart eclipse the highlighting will reset after 5 seconds to default.
I don't know why, but when I start eclipse via sudo, I don't have the problem. I have no more ideas...
I saw, that eclipse run this on startup:
http://pastebin.com/6YGVxfhU
I dont know, how i can stop it
To disable all Oomph startup tasks
In preferences, choose Oomph | Setup Tasks. Then check the Skip automatic task execution at startup time.
To disable which preferences Oomph tracks
In preferences, choose Oomph | Setup Tasks | Preference Recorder.
Check the Record into: checkbox.
In the table uncheck the preferences you don't want synchronized. For your case it is probably the set of /instance/org.eclipse.ui.workbench/[...].
(Optional) Click Open the recorder target file button and fully edit your preferences.
If you want to use Oomph to track your syntax, you can import the .epf file into the preference recorder:
Open Window > Preferences and go to Oomph | Setup Tasks | Preference Recorder
Make sure Record into is selected and whichever profile you want to record to is selected (probably User.) Open the recorder file using the button next to the dropdown.
A .setup file will open in the editor. Close the preference window. An Oomph toolbar should have appeared. The third button is Import Preferences.
Oomph - Import Preferences Button
Click it, browse to your .epf file and open it. Move whatever preferences you want to import from Available Preferences to Selected Preferences and click OK.
The preferences will be added to the .setup file, under the root node (probably User.) Drag them into the User Preferences node (the first child node with the folder icon) and delete any existing nodes with conflicting names (it won't combine them.)
Save the file.
You should now be able to restart Eclipse and have Oomph load in your correct syntax coloring.
Answer from this eclipse forum post with a few extra steps I had to do to get it working.

eclipse editing area is limited to top right area

Help!
My editing area of eclipse become very small, limited on the top right corner. While other areas are blank. Even if I try to maximize the editor (MainActivity.java), it is still limited at the top right corner, leaving other areas as blank.
I never encountered this problem before. Does anyone know how to restore to the default settings?
Thank you!!!
From the Window menu, Reset Perspective
The Eclipse IDE has both workspace specific settings and generic IDE
settings.
The workspace settings are saved inside the workspace folder which is
specified when Eclipse starts up the first time. These settings are
saved in a folder called '.metadata' inside the workspace location.
You can change the location of the workspace in Eclipse by using the
'File' menu and then clicking on the 'Switch Workspace' option.
Note: If you delete your workspace folder you will also delete
projects located inside this folder. If you wish to preserve your
projects only delete the '.metadata' directory.
Eclipse will save all the non workspace specific settings in a
different location. This will depend on whether you are using a Linux
or Windows environment.
Windows*: C:\Documents and Settings\\Application Data\ARM\ARM
Workbench IDE Linux: /home//.awide
You can safely delete the configuration folder to force Eclipse to
start up using the default settings. Eclipse will re-create the
configuration folder with all the configuration files.
*For Windows 7 users: the C:\Documents and Settings\\Application Data... directory has moved to C:\Users\\AppData...
from here

Where does Eclipse store the info about which workspace to start up with?

When I launch Eclipse it starts with one of the workspaces I created and selected "don't ask again" (standardly, Eclipse asks about which workspace to start with during the startup).
So it must store somewhere which workspace to use. Where does it store this piece of information?
In
$HOME/.eclipse/org.eclipse.platform_3.7.0_155965261/configuration/.settings
there is a file
org.eclipse.ui.ide.prefs
where it is stored.
With Eclipse Juno, I can see this information in:
eclipse\configuration\.settings file.
I guess you are looking for RECENT_WORKSPACES and SHOW_WORKSPACE_SELECTION_DIALOG vars.
The settings have changed since this question was posted, as newer versions of Eclipse have been released.
With Eclipse Luna, navigate to $ECLIPSE_HOME/eclipse/configuration/.settings and the file org.eclipse.ui.ide.prefs contains settings like this (Windows file configuration shown):
MAX_RECENT_WORKSPACES=5
RECENT_WORKSPACES=C\:\\src\\eclipse-workspaces\\luna\\MyApp\nC\:\\src\\eclipse-workspaces\\luna\\MyOtherApp
RECENT_WORKSPACES_PROTOCOL=3
SHOW_WORKSPACE_SELECTION_DIALOG=true
eclipse.preferences.version=1
Each entry in RECENT_WORKSPACES appears to be delimited by \n with no spaces. Whenever I manually shuffle my workspaces around (which is rare, but it happens), I've had great success hand-editing this file, saving it, and having the new paths show up just fine in the Workspace Lancher/Select a Workspace dialog.
You have eclipse configuration files in "eclipse_home"/configuration and the one you may looking for is in settings directory : org.eclipse.ui.ide.prefs
I was facing an issue with Spring Tool Suite 4. The workspace used to give an error and I wasn't able to select other workspace also. With the help of some answers already given, I could locate the configuration in $ECLIPSE_HOME\sts-4.7.1.RELEASE\configuration.settings\org.eclipse.epp.mpc.ui.prefs
I removed RECENT_WORKSPACES property (after you try to restart, it adds default entry again) and changed
SHOW_WORKSPACE_SELECTION_DIALOG=true
STS started showing workspace selection dialog again.
If Eclipse has been installed with ubuntu-make, the file location is ~/.local/share/umake/ide/eclipse-jee/configuration/.settings/org.eclipse.ui.ide.prefs.

common workspace setup in eclipse

I want to create several workspaces which point to different branches of a codebase.
The problem I am facing is every time I need to create a new workspace I have to do the same configuration for each workspace.
Example:
Setting up tomcat configuration and it's related java options such as library and java agent settings.
A system variable that points to specific folder containg my jar files.
Another system variable
Questions:
is it possible to have these setups done once so that all subsequent workspaces do not need to be configured?
is it possible to export these preferences and import later into any workspace either on my machine or other machine?
System information:
Windows 7, Eclipse 3.5, Sysdeo tomcat plugin, Tomcat 6
While eclipse does have an Export preferences option, it does not export everything and specifically it is not comprehensive enough for workspace duplication.
In the past I have had a lot of success just cloning the physical workspace folder itself.
For example, let's say you have setup the workspace with everything that you want in it. To duplicate it, find out the path of the current workspace folder by going to File -> Switch workspace -> Other. The path shown here in the dialogue that pops up is the current workspace path ( don't press ok yet)
Create a copy of this folder. Now to use this copy, just use it in the above dialogue, i.e., go to File -> Switch workspace -> Other and put in the path of the copy. Press OK and Eclipse shall restart with the new workspace. Now the only thing you will have to do is point the code to a different branch. Rest all the settings should be present already.
This works specially well on the same machine. If you copy this workspace folder it should still work but your mileage may vary.