Подтвердить что ты не робот

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: это выглядит потрясающе, если я могу заставить его работать.

4b9b3361

Ответ 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

Восстановить настройки очистки и перестроить, как вы хотите.

Это сработало для меня.