Eclipse 3.4 Ganymede Ошибка проверки Javascript
Я только что обновился до Eclipse 3.4 во второй раз, и теперь я думаю, что это хорошо. В первый раз (когда он был выпущен) было слишком плохо для меня в желудке (в основном, плагин PDT 2.0); но теперь, похоже, все получилось.
Моя проблема - проверка достоверности Javascript. Если я определяю класс в одном JS файле в моем проекте, попробуйте использовать его в другом, он сообщает мне, что тип undefined. Это действительно раздражает, поскольку некоторые из моих скриптов усеяны красными squigglys.
Другая проблема заключается в том, что этот код:
var m_dialogFrame = document.getElementById(m_dialogId);
Делает желтую мерцающую надпись "Несоответствие типов: невозможно преобразовать из Element в ___m_dialogBody5". Я могу исправить это, добавив
/**
* @type Element
*/
До этого, но это тоже будет беспорядочно.
Кроме того, оба:
new XMLHttpRequest();
и
new ActiveXObject("Microsoft.XMLHTTP");
Получите красные squiggles, говорящие, что "x не может быть разрешен к типу"
Последняя проблема заключается в следующем:
if (m_options.width!= "auto" )
Получает красный squiggly, потому что: "Оператор!= is undefined для типа (ов) аргумента Number, String"
Как я могу исправить эти проблемы или просто отказаться от всего инструмента проверки Javascript? BTW: это выглядит потрясающе, если я могу заставить его работать.
Ответы
Ответ 1
Похоже, эта проблема связана с тем, что браузер Eclipse по умолчанию не имеет необходимых библиотек.
Попробуйте выполнить следующие шаги, чтобы добавить нужную библиотеку:
Project → Свойства → JavaScript → Библиотеки JavaScript → Библиотеки (вкладка) → Добавить библиотеку времени выполнения → выберите "Библиотека Internet Explorer"
Это должно решить проблему. Это было для меня.
Ответ 2
К сожалению, вам просто придется отказаться от проверки JavaScript.
По моему опыту, инструменты JavaScript, которые поставляются в комплекте с Eclipse 3.4, имеют трудное время... ну, вообще, понимая JavaScript, генерируя поддельные предупреждения и ошибки в результате.
Например, распространенная практика использования Object
как пространства имен бедных людей заставляет его полностью потеряться. Здесь скриншот такого беспорядка, который он делает, пытаясь понять этот файл JavaScript - обратите внимание на бесполезное представление схемы и ложные (и неправильные) предупреждения и ошибки (в том числе не кажущиеся более понятными, чем String.split
возвращает Array
).
Ответ 3
Это очень больно. Один из способов решить эту проблему для меня - исключить все js файлы из сборки. Properties- > javascript- > Libraries- > вкладка "Источник" и исключить все файлы, которые дают вам проблемы.... это явный, потому что мне нужен автозаполнение....: (но нужно завершить проект для работы....
Если у кого-то есть решение, было бы весьма полезно:)
Ответ 4
После нескольких часов осмотра я нашел, как окончательно удалить проверку JS.
Это означает, что вы редактируете свой .project файл, поэтому сначала создавайте резервную копию.
- Закрыть Eclipse
- Откройте файл .project
- найдите следующую строку: <nature> org.eclipse.wst.jsdt.core.jsNature </nature>
- удалить его
- сохраните файл и запустите Eclipse
Там больше нет красного или желтого скребка по всему месту... но не более валидации js.
Если кто-то знает, как это сделать правильно, не редактируя файл .project, поделитесь им.
Ответ 5
По-видимому, чтобы полностью отключить проверку, вы также должны отключить "Сообщить о проблемах при вводе" в разделе JavaScript → Редактор.
Ответ 6
Я обнаружил, что старые ошибки проверки будут присутствовать в представлении проблем и подсвечиваться в файлах, пока вы не повторите его проверку, поэтому после сохранения настроек проверки JSP щелкните правой кнопкой мыши по проекту, чтобы проверить все в нем; что приведет к ошибкам.
Ответ 7
Ответ user85835 немного помог мне, но мне также нужно было следить за этими двумя дополнительными шагами.
Сначала, чтобы действительно удалить предупреждения и ошибки и избежать их воссоздания, выполните следующие действия:
- Отключить автоматическую немедленную перестройку после очистки, которая выполняется в окне "Очистить".
- Очистить проект
Затем закройте Eclipse и удалите <nature> org.eclipse.wst.jsdt.core.jsNature </nature> как описывает пользователь85835.
Но перед повторным запуском Eclipse выполните второй шаг.
- В вашем .project файле найдите <buildCommand> XML-блок, содержащий имя <name> org.eclipse.wst.jsdt.core.javascriptValidator </name> .
- Если вы обнаружите, что это также удалит этот блок.
Затем сохраните файл .project и снова запустите Eclipse
Восстановить настройки очистки и перестроить, как вы хотите.
Это сработало для меня.