title: How to configure Eclipse via the command line?
body: <p>It is possible to install plugins in Eclipse via the command line:</p>
  
  <pre><code>eclipse -noSplash -application org.eclipse.equinox.p2.director -r &lt;url&gt; -i &lt;comma separated list of ids that need to be installed&gt;
  </code></pre>
  
  <p>It is possible to configure Eclipse via the UI, e.g. enable line number. How to change the configuration via the commandline as well?</p>
  
  <p><strong>Attempts</strong></p>
  
  <ol>
  <li>It works to automate the configuration by changing the configuration via the UI, subsequently create a ZIP of the configuration directory and deploy it on other computers as well</li>
  <li>Running <code>user@host ~ $ eclipse -noSplash -application org.eclipse.equinox.p2.director</code> results in:</li>
  </ol>
  
  <p>...</p>
  
  <pre><code>-help | -h | -?
    Prints this command line help information.
  -list | -l [ &lt;comma separated list&gt; ]
    Lists all IU's found in the given repositories. IUs can optionally be listed.  Each entry in the list is in the form &lt;id&gt; [ '/' &lt;version&gt; ].
  -listInstalledRoots | -lir
    Lists all root IU's found in the given profile. Each entry in the list is in the form &lt;id&gt; [ '/' &lt;version&gt; ].
  -listFormat | -lf &lt;list format string&gt;
    Formats the list of IUs according to the given string. Use ${property} for variable parts, e.g. ${org.eclipse.equinox.p2.name} for the IU's name. ID and version of an IU are available through ${id} and ${version}.
  -installIU | -installIUs | -i &lt;comma separated list&gt;
    Installs the listed IU's. Each entry in the list is in the form &lt;id&gt; [ '/' &lt;version&gt; ].
  -uninstallIU | -uninstallIUs | -u &lt;comma separated list&gt;
    Uninstalls the listed IU's. Each entry in the list is in the form &lt;id&gt; [ '/' &lt;version&gt; ].
  -revert &lt;comma separated list&gt;
    Revert the installation to a previous state [ the number representing the previous state of the profile  as found in p2/org.eclipse.equinox.p2.engine/&lt;profileId&gt;/ ].
  -destination | -d &lt;path&gt;
    The folder in which the targeted product is located.
  -downloadOnly
    Only download the artifacts.
  -metadatarepository | metadatarepositories | -m &lt;comma separated list&gt;
    A list of URL's denoting meta-data repositories.
  -artifactrepository | artifactrepositories | -a &lt;comma separated list&gt;
    A list of URL's denoting artifact repositories.
  -repository | repositories | -r &lt;comma separated list&gt;
    A list of URL's denoting co-located meta-data and artifact repositories.
  -verifyOnly
    Only verify that the actions can be performed. Don't actually install or remove anything.
  -tag &lt;name&gt;
    Tag the provisioning operation for easy referencing when reverting.
  -listTags
    List the tags available
  -profile | -p &lt;name&gt;
    Defines what profile to use for the actions.
  -flavor | -f &lt;name&gt;
    Defines what flavor to use for a newly created profile.
  -shared | -s [ &lt;path&gt; ]
    Use a shared location for the install. The &lt;path&gt; defaults to ${user.home}/.p2
  -bundlepool | -b &lt;path&gt;
    The location where the plug-ins and features will be stored. Effective only when a new profile is created.
  -profileproperties &lt;comma separated list&gt;
    A list of properties in the form key=value pairs. Effective only when a new profile is created.
  -iuProfileproperties &lt;path&gt;
    Path to a properties file containing a list of IU profile properties to set.
  -roaming
    Indicates that the product resulting from the installation can be moved. Effective only when a new profile is created.
  -p2.os
    The OS to use when the profile is created.
  -p2.ws
    The windowing system to use when the profile is created.
  -p2.arch
    The architecture to use when the profile is created.
  -p2.nl
    The language to use when the profile is created.
  -purgeHistory
    Remove the history of the profile registry.
  -followReferences
    Follow repository references.
  </code></pre>
  
  <p>Eclipse does not seem to support changing the configuration via the commandline.</p>