2010-08-12 20 views
12

Dove Eclipse memorizza le sue preferenze utente? In particolare i binding della tastiera?Dove Eclipse memorizza le associazioni della tastiera?

+0

correlato a http://stackoverflow.com/questions/3462216/aptana-keyboard-shortcut-for-html-js-jquery-preview-within-the-ide (senza risposta) – ina

+0

Penso che l'OP stia chiedendo dove le impostazioni stesse sono memorizzate cioè. in '~/.eclipse',' $ project_path/.settings' ecc. – prodigitalson

risposta

25

Quando si chiude Eclipse, le impostazioni locali per quanto riguarda le scelte rapide di (impostazioni che differiscono dalla configurazione di default) vengono salvati in

</path/to/workspace>\.metadata\.plugins\org.eclipse.core.runtime\.settings\ 
org.eclipse.ui.workbench.prefs 
+0

Lifesaver - grazie! –

0

È possibile estrarre le associazioni utilizzando il seguente script Groovy. Non sono uno sviluppatore eccezionale quindi scusami per il mio trucco.

Groovy script utilizzato (sostituto in un percorso corretto del file XMI banco di lavoro):

workbench = new XmlSlurper().parse("<path to eclipse>/workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi") 

List bindingTables 
workbench.bindingTables.each 
{ it-> 
//println "\tContributorURI: ${[email protected]} | \tElementID : [email protected]"; 

def command = "command"; 
def commandName = "commandname"; 
def description = "description"; 
def category; 
def name = "name"; 
def keys = "keys"; 
it.bindings.each 
{bindingIt-> 
    //loop through every binding entry 
    command = [email protected]; 
    keys = [email protected]; 
    workbench.commands.each 
    {commandIt-> 
     def thisCommand = commandIt.attributes()['{http://www.omg.org/XMI}id']; 
     if(thisCommand.equals(command.toString())) 
     { 
      commandName = [email protected]; 
      description = [email protected]; 
      category = [email protected]; 
      workbench.categories.each 
      {workbenchIt-> 
       if(workbenchIt.attributes()['{http://www.omg.org/XMI}id'].equals(category.toString())) 
       { 
        name = [email protected]; 
       } 
      } 
     } 
    } 
    println "\t\tKeys: ${keys}\tCommand: ${commandName}"+ 
      "\tDescription: "+description+"\tName: "+name; 
} 
} 
0

Si può effettivamente basta copiare l'intera riga nel file org.eclipse.ui.workbech.prefs che inizia con: org.eclipse.ui.commands= e incollarlo nel altro file di prefs dell'area di lavoro di eclipse corrispondente che si desidera aggiornare, almeno in Eclipse Neon, e li otterrete tutti in una volta.

Problemi correlati