Eclispe

De bricosoft
Aller à la navigation Aller à la recherche
<google uid="C08" position="left"></google>

C'est bien Eclispe, Eclipse c'est autre chose.

Java

Vérifier la JVM utilisé par Eclipse :

$ sudo update-alternatives --config java
Password:

Il y a 3 alternatives fournissant « java ».

  Sélection    Alternative
-----------------------------------------------
          1    /usr/bin/gij-wrapper-4.1
 +        2    /usr/lib/jvm/java-gcj/jre/bin/java
*         3    /usr/lib/jvm/java-6-sun/jre/bin/java

Appuyez sur Entrée pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :3
Utilisation de « /usr/lib/jvm/java-6-sun/jre/bin/java » pour fournir « java ».

Sinon regarder dans /etc/eclipse/java_home :

# This file determines the search order the Eclipse Platform uses to find a
# compatible JAVA_HOME. This setting may be overridden on a per-user basis by
# altering the JAVA_HOME setting in ~/.eclipse/eclipserc.

/usr/lib/jvm/java-6-sun
/usr/lib/jvm/java-gcj
/usr/lib/kaffe/pthreads
/usr/lib/jvm/java-1.5.0-sun
/usr/lib/j2se/1.5
/usr/lib/j2se/1.4
/usr/lib/j2sdk1.5-ibm
/usr/lib/j2sdk1.4-ibm
/usr/lib/j2sdk1.5-sun
/usr/lib/j2sdk1.4-sun

Pour lancer avec une autre JVM :

eclipse -vm /usr/lib/j2sdk1.5-sun/jre/bin/java

Performances


Crash/Erreur au démarrage

org.eclipse.swt.SWTError: XPCOM error -2147467262

$ sudo apt-get install xulrunner
$ vim .../eclipse/eclipse.ini

Ajoutez à la fin (/usr/lib/xulrunner/xulrunner : Ubuntu) :

-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner/xulrunner

Trucs et astuces pour blâmer les autres développeurs

Dino : Mais je te reconnais, toi, je t'ai déjà vu dans mon code.
Je suis sûr que je te reconnais.
Frankie : Désolé, mais c’est moi qui te reconnais. Je t’ai vu
le premier. Toi tu m’as vu en deuxième, vu ?
Dino : Ben je t’ai vu le deuxième alors, voilà.
Frankie : Perdu ! C’est aussi moi qui t’ai vu le deuxième.
Dino : Oh dis donc, tu es super fort.
Frankie : Mais je suis pas super fort, je suis mieux que ça même,
je suis surpuissant.
Dino : Bon, ben lui il va me prendre la tête.

Subversion sert surtout à pouvoir blâmer ses """collègues""" développeurs en remontant à leurs commits-qui-rajoutent des bugs :

"Henri, ton commit #4001 a bousillé l'authentification, tout le backoffice est indexé par gougle !"

Par contre vos propres commits sont des bijoux d'ingéniosité avec concision et clarté.

Les annotations permettent ainsi de fliquer en couleur les ajouts de code dans un fichier :

(bouton droit du mulot) > Team > Show Annotations

ou CTRL+ALT+A après avoir sélectionné votre fichier.

Apparaît alors dans la colonne des numéros de lignes, les annotations : survolez ou cliquez sur les petit carré de couleurs pour les voir.

Afficher un fichier qui s'était caché (steack haché)

Dans l'explorateur des projets, cliquez sur la ptite flèche orientée vers le bas, choisissez :

Filters...

puis *dé*cochez :

.* ressources

et voilà tous les .qquechose vont zapparaître.

plus d'autocompletion

L'auto suggestion a disparue ... poil au c.. ! Au large du port de Valparaiso ... Ah c'est beau ! Mais tout ça nous éloigne d'éclipse :

  • Sous Linux, virez moi donc SCIM [1]

reparer le menu "team -> svn update|commit" qui a disparu

Team -> "Share project" + choisir SVN.

source : [2]

importer un projet existant

Vous avez fait une install toute fraiche mais l'arbo des projets est désespérément vide

  • bouton droit dans l'explorateur de projets > Import > Existing Folder as New Project

Remplissez puis Finish.

Si votre projet est SVN :

  • bouton droit sur le projet, puis Team > Share Project...

ça mouline un peu et vous recouvrez le menu Team avec update, commit, etc.

eclipse + data tools (DTP) + MSSQL SERVER

Pour le driver "Microsoft SQL Server 2005 JDBC Driver", vous pouvez utiliser le driver sqljdbc4.jar qui se trouve dans le tarball chez microsoft :

Puis :

$ tar -zxvf sqljdbc_3.0.1301.101_enu.tar.gz
$ cd sqljdbc_3.0/enu/
$ sudo cp sqljdbc4.jar /usr/share/java/

Vous pouvez tester avec sqljdbc.jar ou le lien jtds.jar (paquetage libjtds-java) mais vous risquez d'obtenir un "Ping Failed".

Sous Eclipse, dans la perspective "Database Developpement" après avoir créé une nouvelle connection :

  • faites BD > Properties sur une base
  • dans le menu : Driver Properties, à droite de la combo "Drivers :" vous avez deux icones : soit "New Driver..." soit "Edit Driver..."
  • cliquez sur "Edit Driver Definition"
  • dans l'onglet "JAR List", enlevez tous les jars (remove) puis rajouter celui que l'on a copié précedemment /usr/share/java/sqljdbc4.jar
  • cliquez sur "OK" puis sur "Test Connection"
  • Ping Succeeded!!!

Eclipse PDT PHP Editor Templates

Exemple de templates php à importer dans Window > Preferences > PHP/Editor -> Import... <source lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="true" context="phpcomment" deleted="false" description="add the user as author" enabled="true" id="org.eclipse.php.ui.editor.templates.phpdoc.author" name="author">@author ${user} </template><template autoinsert="false" context="php" deleted="false" description="class statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.class" name="class">class ${class_name} { function ${function_name}() { ${cursor}; } } </template><template autoinsert="false" context="php" deleted="false" description="Clone an object" enabled="true" id="org.eclipse.php.ui.editor.templates.php.cln" name="cln">${dollar}${new_obj} = clone ${dollar}${variable}; ${cursor}</template><template autoinsert="false" context="php" deleted="false" description="lambda function statement (closure)" enabled="true" id="org.eclipse.php.ui.editor.templates.php.closure" name="closure">function (${parameters}) use (${lexical_variables}) { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="class statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.cls" name="cls">class ${class_name} { function ${function_name}() { ${cursor}; } } </template><template autoinsert="true" context="php" deleted="false" description="debug pre " enabled="true" name="dbgpre">echo "<pre>${date} ${time}:::";print_r($$a);echo ":::</pre>"; </template><template autoinsert="false" context="php" deleted="false" description="echo a string" enabled="true" id="org.eclipse.php.ui.editor.templates.php.echo" name="eco">echo("${}"); ${cursor}</template><template autoinsert="false" context="php" deleted="false" description="elseif statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.elif" name="elif">elseif (${condition}) { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="else statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.else" name="els">else { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="function statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.fnc" name="fnc">function ${function_name}(${dollar}${param}) { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="for statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.for" name="for">for (${dollar}${index} = 0; ${dollar}${index} < ${number_variable}; ${dollar}${index}++) { ${line_selection}${cursor} }</template><template autoinsert="false" context="php" deleted="false" description="foreach statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.foreach" name="fore">foreach (${dollar}${array_expression} as ${dollar}${value}) { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="foreach with key statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.foreachkey" name="forek">foreach (${dollar}${array_expression} as ${dollar}${key} => ${dollar}${value}) { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="function statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.function" name="function">function ${function_name}(${dollar}${param}) { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="if statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.if" name="if">if (${condition}) { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="instanceof statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.instanceof" name="inst">if (${dollar}${variable} instanceof ${class}) { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="iterates a directory" enabled="true" id="org.eclipse.php.ui.editor.templates.php.itdir" name="itdir">${dollar}${dirh} = opendir(${dirname}); if (${dollar}${dirh}) { while (${dollar}${dir_element} = readdir(${dollar}${dirh})) { ${cursor}; } unset(${dollar}${dir_element}); closedir(${dollar}${dirh}); } </template><template autoinsert="false" context="php" deleted="false" description="iterates an array" enabled="true" id="org.eclipse.php.ui.editor.templates.php.arrayIterator" name="iter">for (${dollar}${number_variable} = 0 ; ${dollar}${number_variable} < count(${dollar}${array_variable}) ; ${dollar}${number_variable}++) { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="lambda function statement (closure)" enabled="true" id="org.eclipse.php.ui.editor.templates.php.lambda" name="lambda">function (${parameters}) use (${lexical_variables}) { ${cursor}; } </template><template autoinsert="true" context="php" deleted="false" description="mail dev" enabled="true" name="madev">mail('dev@575.be','debug ${function_container} ${date}${time}'."fichier=${file}", "file=".__FILE__."\n\ndebug=".print_r($$eclipse,1) ); </template><template autoinsert="true" context="php" deleted="false" description="mail ft" enabled="true" name="maft">mail('eclipse@575.be',"=?UTF-8?B?".base64_encode("debug ${class_container}::${function_container} in ${file},${line_selection}")."?=", "file=".__FILE__."\n\ndebug=".print_r($$eclipse,1) ,"From: ".basename(__FILE__)." <dev@575.be>\r\nMIME-Version: 1.0\r\nContent-type: text/plain; charset=UTF-8\r\n"); </template><template autoinsert="false" context="php" deleted="false" description="mysql_fetch_array() loop" enabled="true" id="org.eclipse.php.ui.editor.templates.php.mySql.fa" name="my_fa">while (${dollar}${row} = mysql_fetch_array(${dollar}${query})) { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="mysql_fetch_object() loop" enabled="true" id="org.eclipse.php.ui.editor.templates.php.mySql.fo" name="my_fo">while (${dollar}${row} = mysql_fetch_object(${dollar}${query})) { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="mysql_fetch_row() loop" enabled="true" id="org.eclipse.php.ui.editor.templates.php.mySql.fr" name="my_fr">while (${dollar}${row} = mysql_fetch_row(${dollar}${query})) { ${cursor}; } </template><template autoinsert="false" context="php" deleted="false" description="Trap code output" enabled="true" id="org.eclipse.php.ui.editor.templates.php.my_gc" name="my_gc">ob_start();

${cursor};

${dollar}${contents} = ob_get_contents(); ob_end_clean(); </template><template autoinsert="false" context="php" deleted="false" description="namespace statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.ns" name="ns">namespace ${name};</template><template autoinsert="false" context="php" deleted="false" description="Call parent's clone" enabled="true" id="org.eclipse.php.ui.editor.templates.php.pclon" name="pclon">parent::__clone(); </template><template autoinsert="false" context="php" deleted="false" description="Call parent constructor" enabled="true" id="org.eclipse.php.ui.editor.templates.php.pcon" name="pcon">parent::__construct(); ${cursor}</template><template autoinsert="false" context="php" deleted="false" description="print an expression" enabled="true" id="org.eclipse.php.ui.editor.templates.php.print" name="pr">print ${}; ${cursor}</template><template autoinsert="false" context="php" deleted="false" description="prints the current class name" enabled="true" id="org.eclipse.php.ui.editor.templates.php.print.className" name="prc">print("${class_container}"); ${cursor}</template><template autoinsert="false" context="php" deleted="false" description="prints the current function name" enabled="true" id="org.eclipse.php.ui.editor.templates.php.print.functionName" name="prf">print("${function_container}"); ${cursor}</template><template autoinsert="false" context="php" deleted="false" description="print with new line" enabled="true" id="org.eclipse.php.ui.editor.templates.php.print.newline" name="prln">print ${}."\n"; ${cursor}</template><template autoinsert="false" context="php" deleted="false" description="print a string" enabled="true" id="org.eclipse.php.ui.editor.templates.php.print.string" name="prs">print "${}"; ${cursor}</template><template autoinsert="false" context="php" deleted="false" description="print a value" enabled="true" id="org.eclipse.php.ui.editor.templates.php.print.variable" name="prv">print("\${dollar}${variable} = ". ${dollar}${variable}); ${cursor}</template><template autoinsert="false" context="php" deleted="false" description="switch statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.switch" name="swi">switch (${dollar}${variable}) { case ${value}: ${cursor}; break;

default: ; break; } </template><template autoinsert="false" context="php" deleted="false" description="try catch block" enabled="true" id="org.eclipse.php.ui.editor.templates.php.try" name="try">try { ${cursor} } catch (${Exception} ${dollar}e) { } </template><template autoinsert="false" context="php" deleted="false" description="use statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.use" name="use">use ${namespace} as ${alias};</template><template autoinsert="false" context="php" deleted="false" description="while loop" enabled="true" id="org.eclipse.php.ui.editor.templates.php.while" name="while">while (${condition}) { ${cursor}; } </template></templates> </source>

desactiver la demande de mot de passe du secure storage password

Effacez le dossier :

~/.eclipse/org.eclipse.equinox.security

Créez un fichier texte avec votre mot de passe :

echo "bricosoft" > ~/.eclipse/brico

Rajoutez les *deux* (*ne pas* réunir en une seule) lignes suivantes *tout en haut* de votre eclipse.ini (generalement dans votre dossier eclipse ~/eclipse/) :

-eclipse.password
/home/utilisateur/.eclipse/brico

Start Eclipse again.

php explorer : voir les objets

Clic droit sur le projet puis Congfigure > Add PHP Support