web-dev-qa-db-fra.com

Eclipse se bloque sur copier / couper pour les fichiers JavaScript

J'ai le plugin Eclipse Kepler et NodeEclipse installé. Pour des raisons de performances de NodeEclipse, j'ai désactivé l'assistant de contenu pour les fichiers JavaScript.

Problème: Chaque fois que je copie ou coupe des lignes dans des fichiers JS (ctrl + c/ctrl + x), l'utilisation du processeur passe à 100% et le processus Eclipse consomme toute la mémoire (> 1 Go). Je pense qu'il y a du thrashing GC. Augmenter davantage la mémoire JVM max est une option, mais 1 Go n'est-il pas suffisant pour l'éclipse?

Cela pourrait être une fuite de mémoire. Est-ce un problème spécifique avec Nodeclipse? Existe-t-il des solutions/paramètres dans Eclipse pour diable?

Modifié: Lorsque je double-clique sur une variable, le CPU pompe à 100% pendant 3-4 secondes, descend. J'ai des occurrences de marque déjà désactivées. Cela se produit uniquement pour les fichiers route/*. Js et non pour les dossiers publics. En recherchant plus, je trouve que la ligne de commentaires contenant require('<package-name>') résout ce problème, pourquoi?

29
ankitjaininfo

a trouvé la solution:

allez dans Fenêtre> Préférences> JavaScript> Éditeur> Marquer les occurrences et décochez les cases. Ça devrait le faire.

Raison de ce problème:

Quand tu appuies ctrl pour copier/coller, il suppose qu'il s'agit d'une opération "ctrl + mouseOver", que nous faisons avant de cliquer sur un nom de méthode/variable pour atteindre son point de déclaration, ou accéder à sa documentation. Par conséquent, il essaie de trouver toutes les occurrences du texte actuellement sous le curseur de la souris, ainsi que son point de déclaration et sa documentation.

J'espère que cela t'aides :)

35
Biman Tripathy

Accédez à Fenêtre -> Préférences -> JavaScript -> Éditeur -> Saisie -> Lors du collage

puis décochez Mettre à jour les importations.

Les performances se sont considérablement améliorées dans mon cas. Pointe du chapeau au commentaire laissé par @Alexander Taylor.

19
Saheed

C'est le premier problème lié aux performances de Nodeclipse que j'entends.

Je pense que les limites d'utilisation de la mémoire visent à garantir que les mauvaises routines ne mangent pas de mémoire sans arrêt (et affectent toutes les performances du système d'exploitation). Eclipse prend généralement 200 à 400 Mo. Si votre moyenne Eclipse est supérieure à 500 Mo, je suppose que vous avez installé trop de plugins dans 1 instance Eclipse.

Soulevez un problème pour les développeurs Nodeclipse https://github.com/Nodeclipse/nodeclipse-1/ et donnez les versions exactes du système d'exploitation, Java, Eclipse, Nodeclipse. De plus, parce que c'est un problème de performances, vous devez donner à votre configuration PC CPU, RAM size. Sans ces informations exactes, il est impossible d'enquêter. Vous pouvez également vous essayer sur un autre PC, une autre version d'Eclipse, d'autres Java version etc et comparer, trouver la meilleure combinaison. Veuillez soulever un problème même si vous avez découvert la solution vous-même.

Lisez http://www.nodeclipse.org/ attentivement. (Vous devriez avoir lu avant d'utiliser pour au moins apprendre quelques conseils et comment obtenir de l'aide.) Je ne suis pas sûr que ce soit un problème avec Nodeclipse, mais s'il est reproductible, il doit être résolu rapidement ou bug bugzilla Eclipse à augmenter s'il s'agit d'un projet Eclipse.

Pour information (à partir de Nodeclipse 0.10)
1) Nodeclipse a 2 éditeurs: basés sur JSDT et basés sur TextEditor. Les deux ont un code complet. Essayer avec TextEditor peut dire si le problème est lié à JSDT .
2) Pour la validation, la validation JSHint est utilisée. JSHint est exécuté sur un moteur Rhino qui n'est pas si rapide et peut potentiellement prendre du temps sur de grands projets. Cependant JSHint Integration est un projet assez mature et il existe des options pour arrêter la validation après un certain nombre d'avertissements.

4
Paul Verest

De plus, si votre fichier .js est énorme, comme plus de 10000 lignes, c'est peut-être la cause. Voir l'ancien Eclipse est pendu lors du copier/coller dans les fichiers JavaScript

4
Paul Verest