2009-10-11 8 views
33

ho notato che eclipse di recente crea una directory .settings con 1 file all'interno e mi chiedo se dovrei aggiungerlo al controllo della versione? SVN?Perché eclipse crea una directory .settings?

anche questo è nuovo? uso eclipse da un po ', ma non l'ho mai notato.

il contenuto del file nella directory è questa:

#Sun Oct 11 14:57:03 CEST 2009 
eclipse.preferences.version=1 
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 
org.eclipse.jdt.core.compiler.compliance=1.6 
org.eclipse.jdt.core.compiler.debug.lineNumber=generate 
org.eclipse.jdt.core.compiler.debug.localVariable=generate 
org.eclipse.jdt.core.compiler.debug.sourceFile=generate 
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 
org.eclipse.jdt.core.compiler.source=1.6 

sognerei queste impostazioni siano spazio di lavoro a livello e non progetto specifico?

+1

Buona domanda. Penso che sia un nome un po 'stupido per eclissi da scegliere. Cosa succede se abbiamo già una dir per questo nel nostro progetto? La maggior parte delle app usa il proprio nome; per esempio. '.svn',' .git', '.hg' Non so perché non' .eclipse'. –

+0

@ JW. Immagino che Eclipse abbia scelto il nome '.settings' piuttosto che' .eclipse' perché vogliono che altri IDE seguano questa pratica. – smwikipedia

risposta

22

Questo file registra le impostazioni specifiche del progetto rispetto alle preferenze dello spazio di lavoro.

Ho notato che questo file viene in genere creato quando si converte un progetto Java normale in un progetto Java EE.

L'unica volta che si verifica questo file è quando le impostazioni del compilatore/avviso del progetto sono diverse dalle impostazioni dell'area di lavoro predefinita.

Questo può essere il caso in cui alcuni progetti legacy non possono essere compilati con la versione più recente del compilatore java, o quando il codice sorgente generato da un 3rd party produce un sacco di avvertimenti che sono benigni, ma inquinano la visualizzazione Problems.

Se si intende utilizzare impostazioni specifiche del progetto, controllare definitivamente questo file. In caso contrario, eliminarlo.

+0

Se il sistema di controllo della versione supporta la possibilità di rendere il file scrivibile (Tipo di file in Perforce), è possibile farlo. In caso contrario, con la finestra di registro degli errori, vedo (abbiamo un progetto denominato Common): Impossibile scrivere nel file di sola lettura "/Common/.settings/language.settings.xml". – Technophile

2

Queste sono le impostazioni specifiche del progetto per Eclipse. Non è necessario includerli in svn, poiché ogni utente eclissi li creerà quando eseguono il checkout del progetto, oppure potrebbero persino utilizzare un altro IDE e non averne bisogno. Se sei l'unico ad utilizzare il progetto, non importa se li includi comunque.

+14

Personalmente non sono d'accordo con questo. Se hai una politica, ad esempio, di supportare solo Java 5 (o 1.4, ecc.), Allora * non * vuole che gli sviluppatori prevalgano su queste impostazioni. Si desidera verificare i file ed essere in grado di tracciare le modifiche a loro. –

+2

se qualcuno li controlla effettivamente nel controllo di versione, il dolore si verifica se viene utilizzato vcs come clearcase che richiede che i file siano di sola lettura. A Eclipse non piacciono davvero le impostazioni .settings per essere di sola lettura. Solo una parola di avvertimento ... – eis

+0

Suppongo che Eclipse abbia scelto il nome '.settings' piuttosto che '.eclipse' perché vogliono che altri IDE seguano questa pratica. – smwikipedia

12

La cartella .settings viene utilizzata da vari plug-in per impostare "Proprietà" permanenti anziché "Preferenze" per specificare le impostazioni specifiche del progetto che devono essere preservate.

Di solito si tratta di una directory che si preferisce controllare in svn/cvs/git etc in quanto garantisce che tutti gli utenti che controllano il progetto in eclissi utilizzino le giuste impostazioni specifiche del progetto.

Nel nostro caso lo usiamo per fornire una versione minima del compilatore di 5 poiché alcuni sviluppatori sono su Java 5 contro 6 ecc. Ma vogliamo che le cose siano compilate a 5 per i nostri server. Lo usiamo anche per far rispettare alcuni standard di codifica e auto-formattatori che rendono le differenze di versione molto più facili da leggere.

Nel tuo caso specifico hai selezionato "Abilita impostazioni specifiche del progetto" sotto "Proprietà-> Compilatore Java" facendo clic con il tasto destro del mouse sul progetto e scegliendo le proprietà.

+0

Questa risposta è migliore di quella scelta IMHO. – smwikipedia

+0

Grazie, ottima risposta. –

+0

Se il sistema di controllo della versione supporta la possibilità di rendere il file scrivibile (Tipo di file in Perforce), è possibile farlo. Altrimenti, con la finestra del registro degli errori, vedo (abbiamo un progetto chiamato Common): Impossibile scrivere nel file di sola lettura "/Common/.settings/language.settings.xml". – Technophile

Problemi correlati