Search code examples
eclipseeclipse-plugineclipse-rcp

Exported eclipse preferences contain \!/=


I exported the preferences from an eclipse product to compare them with my plugin_customization.ini file. The first two lines of the exported *.epf file are the following:

#Wed Jul 25 10:59:27 EEST 2018 \!/=

What is the meaning of \!/=?
I noticed it also in the plugin_cusotomization.ini file which I maintain, but it is present at the middle of the file.


Solution

  • This is the name of the node in the Eclipse preferences (IEclipsePreferences) for this preference save.

    ! specifies that this is a preferences node definition (the preceeding \ is just a properties file escape). / is the path for the root node. The property has no value.

    Code for this is in org.eclipse.core.internal.preferences.PreferencesService

    private static final char EXPORT_ROOT_PREFIX = '!';
    private static final float EXPORT_VERSION = 3;
    private static final String VERSION_KEY = "file_export_version"; //$NON-NLS-1$
    
    public IStatus exportPreferences(IEclipsePreferences node, OutputStream output, String[] excludesList) throws CoreException {
    
        ... other code
    
        properties = convertToProperties(node, excludesList);
        if (properties.isEmpty())
            return Status.OK_STATUS;
        properties.put(VERSION_KEY, Float.toString(EXPORT_VERSION));
        properties.put(EXPORT_ROOT_PREFIX + node.absolutePath(), EMPTY_STRING);