Eclipse зависает при копировании / вырезке для файлов JavaScript
У меня установлен Eclipse Kepler и плагин NodeEclipse. По соображениям производительности NodeEclipse я отключил помощник по содержимому для файлов JavaScript.
Проблема: всякий раз, когда я копирую или режу некоторые строки в файлах JS (ctrl+c / ctrl+x), загрузка ЦП идет на 100%, и процесс затмения пожирает всю память (>1 ГБ). Я думаю, что происходит GC Thrashing. Увеличение максимального объема памяти JVM - это дополнительная опция, но не достаточно ли 1 ГБ для затмения?
Это может быть утечка памяти. Это специфическая проблема с Nodeclipse? Есть ли какие-нибудь обходные пути / настройки в eclipse to diable?
Отредактировано: когда я дважды щелкаю переменную, процессор нагнетается до 100% в течение 3-4 секунд, останавливается. У меня уже есть отметки в событиях. Это происходит только для файлов маршрута /*. Js, а не для общей папки. Исследуя больше, я нахожу эту строку комментариев, содержащую require('<package-name>')
решает эту проблему, почему?
4 ответа
Нашел решение:
перейдите в " Окно"> "Установки"> "JavaScript"> "Редактор"> "Отметить вхождения" и снимите флажки. Это должно сделать это.
Причина этой проблемы:
Когда вы нажимаете ctrl для копирования / вставки, это предполагает, что это операция "ctrl+mouseOver", которую мы делаем перед тем, как щелкнуть имя метода / переменной, чтобы достичь точки ее объявления, или получить доступ к ее документации. Следовательно, он пытается найти все вхождения текста, находящегося в данный момент под курсором мыши, вместе с точкой его объявления и документацией.
Надеюсь это поможет:)
Перейдите к Окну -> Настройки -> JavaScript -> Редактор -> Печатать -> При вставке
затем снимите флажок Обновить импорт.
Производительность значительно улучшилась в моем случае. Шляпа к комментарию, оставленному @Alexander Taylor.
Также, если ваш файл.js огромен, например, более 10000 строк, возможно, причина. Посмотрите, как старый Eclipse зависает при копировании / вставке в файлах JavaScript
Это первая проблема, связанная с производительностью Nodeclipse, которую я слышу.
Я думаю, что ограничения использования памяти должны гарантировать, что плохие подпрограммы не пожирают память без остановки (и влияют на производительность всей операционной системы). Обычно затмение занимает 200-400 МБ. Если среднее значение затмения превышает 500 МБ, я полагаю, вы установили слишком много плагинов в 1 экземпляр Eclipse.
Поднимите проблему для разработчиков Nodeclipse https://github.com/Nodeclipse/nodeclipse-1/ и предоставьте точные версии ОС, Java, Eclipse, Nodeclipse. Кроме того, поскольку это проблема производительности, вы должны указать конфигурацию процессора, объем оперативной памяти вашего ПК. Без этой точной информации невозможно провести расследование. Вы также можете попробовать себя на другом ПК, другой версии Eclipse, другой версии Java и т. Д. И сравнить, найти лучшую комбинацию. Пожалуйста, поднимите вопрос, даже если вы сами нашли решение.
Прочитайте http://www.nodeclipse.org/ внимательно. (Вы должны были прочитать, прежде чем использовать хотя бы несколько советов и узнать, как получить помощь.) Я не уверен, что это проблема Nodeclipse, но если она воспроизводима, то она должна быть решена быстро или ошибка Eclipse bugzilla быть поднятым, если это какой-то проект, связанный с Eclipse.
Для информации (по состоянию на Nodeclipse 0.10)
1) Nodeclipse имеет 2 редактора: на основе JSDT и на основе TextEditor. Оба имеют завершение кода. Попытка на основе TextEditor может определить, связана ли проблема с JSDT.
2) Для валидации используется валидация JSHint. JSHint работает на движке Rhino, который не так быстр и потенциально может занять много времени в больших проектах. Однако JSHint Integration является довольно зрелым проектом, и есть варианты, чтобы остановить проверку после определенного количества предупреждений.