Bon je vais poster plus un témoignage qui s'apparente à du fanboyism (sans argument donc) qu'à un argumentaire détaillé (j'ai pas le temps aujourd'hui, donc je vais faire court et je détaillerais plus tard si je peux), mais sache que la plupart de tes critiques prouve que tu n'as pas cherché beaucoup...
Mon histoire:
J'ai utilisé Eclipse puis Spring Tool Suite (donc toujours du Eclipse mais à la sauce Spring) pendant 5-6 ans. Même si l'entrée en matière a été dure (je trouve l'interface fouillie, chargée et peu ergonomique; la notion de "perspective" par exemple embrouille plus qu'elle n'est utile), j'ai fini par être à l'aise et satisfait de mon IDE après avoir passé un peu de temps à en explorer les possibilités et à en maîtriser ses subtilités.
Pendant longtemps j'ai entendu les gens dire "Ouais Intellij c'est vachement mieux, Eclipse c'est pourri" lors de conférences/formations/sur les forums etc sans trop comprendre pourquoi, me satisfaisant largement d'Eclipse/STS.
Il y a 6 mois ma boîte est passée de svn à git. Autant auparavant j'arrivais à me contenter des outils svn intégré à Eclipse, autant là pour git j'étais perdu. J'ai fini par installé intellij en autre pour ça, puis j'ai fini acheté une licence parce que:
1) Le coût est modeste par rapport à l'utilisation: 240€ pour un outil qui grosso modo va me servir 8h/jour et 5j/semaines
2) J'ai déjà gaspillé plus d'argent stupidement (je suis fumeur)
3) Ça me ferait une bonne motivation pour m'investir dans la découverte de cet IDE
Pendant 3-4 mois j'ai travaillé alternativement sur l'un ou autre des IDE. Effectivement quand on a ses habitudes, il très difficile d'en changer. Néanmoins depuis 2-3 mois j'ai basculé complètement sous Intellij et aujourd’hui je ne retournerais jamais plus sous Eclipse. J-A-M-A-I-S. La seule chose que je n'ai pas pu retrouvé sous intellij c'est Mylyn. Pour tout le reste, Intellij est mieux qu'Eclipse une fois apprivoisé.
En bonus, voici une liste de settings qui m'ont aidé a retrouver le même comportement que dans Eclipse:
- Appearance & Behavior > Keymap > Keymaps : Eclipse
- Editor > General > Show quick documentation on mouse move
- Editor > General > Code Completion > Case sensitive completion : None
- Editor > General > Code Completion > Autopopup documentation
- Editor > General > Editor Tabs > Tab Appearance > Mark modified tabs with asterisk
- Editor > General > Auto Import : Java > Add unambiguous imports on the fly
Rien que ça ça élimine un bon nombre de tes critiques.
En bonus numéro 2, le raccourci magique: "Enter action or option name" : Ctrl + Maj + A
C'est loin d'être exhaustif, mais comme je l'ai dis j'essayerais de détailler plus un peu plus tard...
A moitié coupable votre honneur, j'ai cherché, mais il y a des trucs qui ne sont pas évident à priori, sachant que comme indiqué plus haut, je fonctionne avec l'IDE de base sans plugin dans sa configuration initiale !
Haaaaa, merci beaucoup !En bonus, voici une liste de settings qui m'ont aidé a retrouver le même comportement que dans Eclipse:
- Appearance & Behavior > Keymap > Keymaps : Eclipse
- Editor > General > Show quick documentation on mouse move
- Editor > General > Code Completion > Case sensitive completion : None
- Editor > General > Code Completion > Autopopup documentation
- Editor > General > Editor Tabs > Tab Appearance > Mark modified tabs with asterisk
- Editor > General > Auto Import : Java > Add unambiguous imports on the fly
Rien que ça ça élimine un bon nombre de tes critiques.
Ca va beaucoup m'aider à apprivoiser la bête ça ! (sauf pour les raccourcis, je resterai sur ceux de base)
Oui, je valide celui-là qui permet aussi de modifier la config à la volée...En bonus numéro 2, le raccourci magique: "Enter action or option name" : Ctrl + Maj + A
Seule critique que je pourrais lui trouver c'est de chercher de manière un peu trop large, des fois j'aime bien rechercher sur un sous-domaine précis
D'ailleurs, il y a un moyen de retrouver rapidement une méthode par son nom quand on est dans une classe donnée? (que ce soit une qu'on est en train de développer ou une dont on a le code source?)
N'hésite pasC'est loin d'être exhaustif, mais comme je l'ai dis j'essayerais de détailler plus un peu plus tard...
Je ne suis pas mort, j'ai du travail !
Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
Follow me on twitter
Pour moi, ça reste beaucoup moins pratique que ce que propose Eclipse à ce niveau. Eclipse prévoit d'entrée les arguments à compléter, et on n'a plus qu'à passer de l'un à l'autre - alors que dans IntelliJ, il faut à nouveau ré-utiliser des raccourcis claviers pour chaque paramètre, et il est également plus facile de se tromper entre plusieurs surcharges d'une méthode avec le même nom mais des paramètres différents...
J'attrape cette discussion alors qu'elle est mise en lumières par Développez. Les réponses ont été données, mais je vais rebondir sur ces quelques points :
Si ce que tu écris là est plein de sens, il est en contradiction avec ta première intervention. Avec les questions que tu a posé, j'ai l'impression que par "intuitivité", tu a cherché "l'identité d'utilisation". Dans la pratique, tu illustre de façon naturelle ce contre nous informaticiens pestons à longueur de projet : la résistance au changement des utilisateurs
Sur ce point, et bien que nous ayons certainement tous acquis le tic du save/save all, il y a une erreur de concept : la seule et unique validation du développeur, c'est le commit. Un save n'est qu'une action technique qui n'a, du point de vue utilisateur, aucun sens. De mémoire, Eclipse indique les changements effectués et non sauvés mais je vous met au défi d'avoir une réelle logique de "validation". Si le process vous semble cohérent la plupart du temps, vous devez lâcher votre post pour une réunion urgente, vous sauvegardez ou laissez comme ça ? Si vous sauvegardez, quelle est la logique de cette "validation" dans l'urgence ?Avec IJ, un truc qui me dérange, c'est le fait de ne pas sauvegarder.... Je comprends la logique, je comprends la philosophie et elle est pas con : quand tu changes un truc, ben voilà c'est changé... Mais j'aime cette idée de la "validation" par le développeur... Ces minis étapes dans le développement... Ce rythme qui s'acquiert... Je code, je sauvegarde, je code, je sauvegarde... Autant d'étapes qui sont des validation intellectuelles des concepts.
Dans mon mode de fonctionnement, quand je sauvegarde mon fichier, c'est que ce que j'ai fait me va. C'est que j'ai fait une étape. C'est que je vais passer au point suivant. Avec IJ, c'est con, mais CA ME MANQUE. Je veux mon ctrl+s. Je veux mon gros bouton "Ready to go". Je veux qu'un mécanisme dans ma tête me dise "on passe à la suite".
Pourquoi ne sont-ils pas masqués par défaut, je l'ignore. Par contre, pour le faire, c'est dans les paramètres et "File Types".IJ fait la même chose avec ses propres fichiers (les .iml et le répertoire .idea)
Par contre : Eclipse MASQUE ces fichiers qui lui sont propres tandis que IJ les affiche... Pourquoi? Pourquoi ne pas les masquer?
De manière plus générale, ce sujet est certes intéressant, et la réponse à la question formulée par la rédaction (quelles difficultés pour passer de Eclipse à IntelliJ) est finalement la même que pour tout logiciel : la résistance au changement... Clairement certains ont acquis des habitudes qu'ils cherchent à reproduire et comme pour tout outil, ce n'est pas le cas.
Par contre, je trouve regrettable de voir au bout de deux interventions considérer l'usage d'IntelliJ comme un comportement de "Fanboy". J'ai plus l'impression de lire une morale aux pauvres brebis qui s'égarent d'Eclipse. Je ne me considère pas comme un "fanboy", j'ai commencé le dev Java avec un truc qui s'appelait Kawa (il faut avoir fait du Java au siècle dernier pour le connaitre ) puis NetBeans le tout dans un contexte scientifique. J'ai fait une formation complémentaire en info (avec NetBeans et Eclipse) puis en rentrant dans le joyeux monde des SSI, c'était le Diktat d'Eclipse. J'ai toujours été fasciné par le regard terrifié des architectes et experts techniques lorsqu'ils pouvaient me voir sur NetBeans qui était plus performant sur l'intégration Maven et le front web et globalement plus stable. Cette inquiétude que ne pas utiliser Eclipse risquait de foutre en l'aire le projet, alors qu'ils se vantaient l'indépendance vis à vis de l'IDE grâce à Maven... Confiance... Du coup, je ne comprends toujours pas que l'on puisse avoir un contexte de projet Java non-RCP où l'IDE est imposé...
Je ne suis plus sur du Java "pur", depuis quelques années pour moi, Java c'est Android et la sortie d'Android Studio a été une délivrance face à la lourdeur de maintenance d'Eclipse. Depuis, j'utilise Android Studio ou IntelliJ en Community qui est en soi suffisante et gratuite. Oui, j'ai bien lu le discours classique adressé à tous ceux qui abandonnent un produit pour ses défauts, avec les dernières versions ça va bien mieux, Eclipse n'a rien à envier à IntelliJ, blabla... Personnellement, ça ne m'intéresse pas, en tant qu'indépendant, la productivité prime avant tout et IntelliJ ne m'a jamais fait défaut (passé une phase d'adaptation évidemment). Mais comme je l'ai dit plus haut, on parle ici de Java et dans un contexte non-RCP, finalement, l'IDE on s'en fiche, à chacun d'utiliser ce qui lui convient.
C'est le syndrome classique, un peu comme quand tu changes d'éditeur de texte, ou quand tu déménages
Dis toi que intelliJ a pris 15% de part de marché en 1 an, il y a des raisons.
- imprime toi une CheatSheet des raccourcis clavier
- fouille les options... ca réglera la plupart sinon tous les points que tu cites (pour les import : Settings -> keymap-> tu cherches import : ctrl+alt+O, ca t'a pris 2 secondes)
- GIYF
- repère les différences d'approche par rapport à Eclipse et GIYF (les modules, par exemple)
Insiste un peu avant de raler
Accessoirement, est-ce que c'est le même problème que celui du click/focus de Mars? Je m'explique:
quand j'ai le focus sur l'éditeur par exemple, je ne peux plus cliquer sur un fichier du package explorer. Je dois d'abord donner le focus au package explorer (un click) puis cliquer sur le fichier. On dirait que l'event de focus bouffe le click. Pareil quand je double clique, ça génère un simple click. Je suppose que ça rentre dans le bordel d'incompatibilité avec ubuntu.
Autre problème surement lié, dans le run as / debug as, il arrive que des tabs de configuration (particulièrement avec le GWT) n'apparaissent pas. Genre j'active le 3ème tab, mais j'ai le contenu du deuxième. Je clique sur un autre et je reviens, là j'ai bien le 3ème tab.
Tout ça pour dire que quand je suis passé à Mars, ça a quand même donné une belle impression de grand n'importe quoi pas testé vu de mon bureau. JLes composant graphiques de Mars ont bien chié dans la colle. Et c'est ce genre d'expérience qui me fait regarder du coté de la concurrence. La seule chose qui me retient captif d'eclipse, c'est le temps que je passerais à apprendre un nouvel IDE est pour le moment plus grand que le temps que je perds à contourner les bugs.
Edit: visiblement eclipse n'apprécie pas que je dise du mal de lui et m'a fait un blagounette matinale m'obligeant à tuer le process en console
Pour tes autres bugs, je sais pas trop, je ne les rencontre pas. Mais ca ressemble bien à des soucis de SWT/GTK. Tu peux toujours ouvrir des bugs, il y a du monde qui réagit.
Aussi, tu peux tenter de mettre à jour ta version de GTK3 si Ubuntu t'en propose une plus récente. Pas mal de bugs sont aussi dans GTK3...
Pour info, il n'y a à peu près que IBM et Red Hat qui bossent sur SWT. Et toutes les distributions Linux ne peuvent pas être testées (faute de resources). Ubuntu est un bon exemple: la plupart des contributeurs de SWT sous Linux utilisent Fedora, qui est plus rapide pour intégrer les nouvelles versions de GTK. Donc le développement et les tests (manuels, lors du développement) se font sous cet distribution, et certains bugs spécifiques à Ubuntu ne sont pas visibles à ce moment là.
Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
Follow me on twitter
Suite à ce post je viens de télécharger MARS - JEE pour tester les nouveautés:
Points positifs:
1. Disparition du out-of-sync en cas de modification des fichiers ou répertoires en dehors d'Eclipse. C'est un gros progrès.
2. J'ai l'impression que les Maven out-of-date ont aussi disparu. Il faut cocher une option dans les settings. Sur ce deuxième point, je n'ai pas pu tester correctement.
Passons au test qui fait mal.
Ajout d'une dépendance Maven dans le pom en utilisant la fenêtre pop-up: Select Dependency.
Conditions du test:
- i5
- 8 Go Ram
- Windows 7
- Utilisation de Mars JEE R1 sans aucune modification. Téléchargement ce matin
- Workspace vierge
- Un nouveau projet : maven archetpe quickstart.
- Applications ouvertes : Eclipse + chrome.
Test 1:
- Ouverture du POM avec l'éditeur Maven
- Dependency->add
- Je commence à rechercher un artéfact => rien, absolument aucune suggestion d'Eclipse. Juste un warning qui m'indique que l'indexation n'est pas activée.
OK:
- Je ferme la fenêtre
- Je modifie les settings Maven.
- Je reviens dans mon POM.
- Toujours rien.
OK:
- Je redémarre Eclipse.
- Je retente l'ajout d'une dépendance.
- Je comme,ce à taper une recherche : spring
- Temps de réponse d'Eclipse pour me suggérer une liste d'artéfact : 12 mn.
On est d'accord qu'une recherche sur mvnrepository et un simple copier/coller m'aurait pris bc moins de temps !
Ouf ! 25 mn depuis mon premier démarrage d'Eclipse et je viens d'ajouter une dépendance.
Allez soyons fou rajoutons une 2° dépendance. En fait mon objectif initial était de tester la Maven out-of-date, pas de tester l'ajout de dépendances.
Et là c'est le drame:
- la recherche reprends à nouveau beaucoup de temps
- Mon Eclipse freeze à plusieurs reprise
- Ko Technique: cf screenshot ci-dessous.
Coût du test :
- 15% du prix d'une licence annuelle IntelliJ. ça fait un peu cher l'ajout de dépendances.
Il y a vraiment un truc que je comprends pas;
Cette fenêtre d'ajout des dépendances dans Eclipse à toujours plus ou moins marché.
J'ai jamais eu de gros blocage comme ça avec cette fonction.
Test d'ajout d'une dépendance Maven dans MARS JEE - R1 avec la popup : Select dependency:
- un eclipse tout neuf
- un workspace tout neuf
- un seul projet
- deux classes dans le projet
- 30 minutes d'utilisation
En fait, ce qui s'est passé, c'est que le système a commencé par faire un téléchargement de l'index du repository m2... Je ne sais plus s'il fait 10 ou 100Mo...
Pour que ça marche bien, il vaut mieux avoir un nexus "local" sur lequel tu branches l'indexation et la recherche (ça évite de tout charger en local).
Et oui, ça va plus vite de recherche sur m2central : ce que j'ai toujours fait d'ailleurs !
Si tu ajoutes directement à la main dans ton pom, c'est quasi instantané
Je ne suis pas mort, j'ai du travail !
Je sais ce que fais Eclipse. J'utilise Eclipse depuis 2006.
Je n'ai jamais eu ce blocage avec cette fonction en 10 ans. Et comme je suis une grosse feignasse dans l'ajout des dependances je m'en suis servi souvent.
Un nexus pour rajouter une dépendance dans Maven: C'est une petite blague
Les 12 mn la première fois OK, je veux être bon joueur. Et le crash lors du deuxième ajout ? C'est normal aussi ?
En parallèle, je compare avec la version 15 de IJ Ultimate.
IJ me propose la complétion des dépendances immédiatement et avec une vitesse impressionnante.
Au départ je voulais faire quelques comparaisons de fonctionnalités entre Mars R1 JEE & IJ 15 Ultimate.
Les résultats sont tellement en faveur d'IJ que je les ai même pas postés, sinon on va :
- m'accuser d'être un fanBoy
- me dire que les uses cases ou les fonctionnalités ne sont pas pertinentes.
Si je puis me permettre, pour faire une comparaison plus pertinente, il faudrait commencer par IJ Community puisque la barrière du prix est un des premiers critères pour certains. Je n'ai pas de problème par la suite pour considérer la Ultimate puisque les features en plus permettent surtout un gain de productivité. Mais ce gain n'est pas forcément parlant pour tous. En tant qu'indépendant time is money et même en payant, IJ se rentabilise par rapport à Eclipse en moins d'1 mois.
C'est par contre désolant de voir sur un site comme Developper que les intervenants qui essayent d'être sérieux et méthodiques se censurer car avoir une opinion qui sort de la norme imposée est considérée comme hérétique... :/
Ba ton exemple est pertinent en tout cas : l'outil de recherche/ajout d'artefacts est pas top dans Eclipse !
Et je le savais déjà en fait (et je pense que tout le monde est au courant), mais je ne pensais pas qu'il pouvait planter aussi vite par contre !
Tu compares avec une version "toute neuve" de IJ aussi? Parce que ce genre de problème avec Eclipse, j'ai l'ai aussi eu les premières fois, le temps de récupérer l'index, le réindexer (indexer l'index, c'est poétique)... Mais après, plus de soucis et ça allait super vite aussi sans planter ! (pour les quelques fois où j'ai voulu être fainéant et ajouter via la fenêtre d'ajout de dépendance)
Je parlais d'utiliser un nexus parce que dans mon cas j'en ai toujours eu un à disposition (pour plein de bonnes raisons) et que ça simplifie encore plus les choses.
Tu as la version précise des deux artefacts que tu as essayé d'ajouter que je tente ça chez moi aussi?
(téléchargement de l'index M2Central en cours)
13h14 : téléchargement terminé, aucun plantage, ajout sans aucun problème d'artefacts, recherche rapide via la popup... consommation mémoire "normale" : 700Mo
Je ne suis pas mort, j'ai du travail !
pour moi les gros point faible d'eclipse c'est ses performances, son intégration de maven.
j'opte souvent pour netbeans, plus léger (surtout la 8.1), intégration de maven, ergonomie, intégration de base de nombreux outils.
Là je t'avoue que j'ai été très surpris aussi.
J'ai toujours eu des temps de réponse acceptables. Pas extraordinaires mais acceptables.
Toute neuve téléchargé de ce matin. Oui et j'ai testé IJ avant Eclipse.
Oui, mais là je suis pas au boulot et je vais pas installer un nexus à la maison .
Non, pour le premier j'ai tapé spring et j'ai pris une dépendance au hasard.
Pour le second j'ai aussi tapé spring et je suis jamais arrivé au bout.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager