Проблема с проверкой Javascript в Eclipse 3.4 Ganymede
-
06-07-2019 - |
Вопрос
Я только что обновился до Eclipse 3.4 во второй раз, и я думаю, что теперь это навсегда.Первый раз (сразу после его выпуска) был слишком глючным для меня, чтобы переварить (в основном плагин PDT 2.0).;но теперь, кажется, все наладилось.
Моя проблема заключается в валидаторе Javascript.Если я определяю класс в одном JS-файле в своем проекте, а затем пытаюсь использовать его в другом, он сообщает мне, что тип не определен.Это действительно раздражает, так как некоторые из моих скриптов усеяны красными закорючками.
Другая проблема заключается в том, что этот код:
var m_dialogFrame = document.getElementById(m_dialogId);
Делает желтую закорючку с надписью "Несоответствие типов:не удается преобразовать из элемента в ___m_dialogBody5" Я могу это исправить, добавив
/**
* @type Element
*/
До этого, но это тоже будет грязно.
Кроме того, оба:
new XMLHttpRequest();
И
new ActiveXObject("Microsoft.XMLHTTP");
Получите красные закорючки с надписью "x не может быть преобразован в тип".
Последняя проблема связана с:
if (m_options.ширина != "авто")
Получается красная закорючка , потому что:"Оператор != не определен для типа (ов) аргумента Number, String"
Как я могу исправить эти проблемы или просто отказаться от всего инструмента проверки Javascript?КСТАТИ:это выглядит чертовски потрясающе, если я смогу заставить это работать.
Решение
Похоже, эта проблема связана с тем, что браузер по умолчанию для Eclipse не имеет необходимых библиотек.
Попробуйте выполнить следующие шаги, чтобы добавить необходимую библиотеку:Проект -> Свойства -> JavaScript -> Библиотеки JavaScript -> Библиотеки (вкладка) -> Добавить библиотеку среды выполнения -> выберите "Библиотека Internet Explorer"
Это должно решить проблему.Это сработало для меня.
Другие советы
К сожалению, возможно, вам просто придется отказаться от проверки JavaScript.
По моему опыту, инструменты JavaScript, которые поставляются в комплекте с Eclipse 3.4, испытывают трудности...что ж, понимание JavaScript вообще, генерируя в результате поддельные предупреждения и ошибки.
Например, обычная практика использования Object
поскольку пространство имен бедного человека приводит к тому, что оно полностью теряется.Вот скриншот того, какой беспорядок это создает когда пытаешься понять этот файл JavaScript - обратите внимание на бесполезный контурный вид и ложные (и неправильные) предупреждения и ошибки (в том числе, похоже, что вы не понимаете, чем String.split
возвращает Array
).
Это очень болезненно.Одним из способов решить проблему для меня было исключить все js-файлы из сборки.Свойства-> javascript-> Библиотеки-> Вкладка "Исходный код" и исключите все файлы, которые вызывают у вас проблемы .... это жалко, потому что я хотел некоторого автозаполнения....:(но нужно закончить проект для работы....Если у кого-то есть решение, это было бы высоко оценено :)
После нескольких часов поисков я нашел, как окончательно удалить проверку JS.
Это означает редактирование вашего файла .project, поэтому на всякий случай создайте его резервную копию.
- Близкое Затмение
- Откройте ваш файл .project
- посмотрите на следующую строку :<nature>орг.затмение.РМО.jsdt.ядро.jsNature</nature>
- удалите его
- сохраните свой файл и запустите Eclipse
Больше никаких красных или желтых разводов повсюду...но больше никакой проверки js.
Если кто-нибудь знает, как сделать это правильно без редактирования файла .project, пожалуйста, поделитесь.
По-видимому, чтобы полностью отключить проверку, вам также следует отключить "Сообщать о проблемах по мере ввода" в JavaScript -> Editor.
Я обнаружил, что старые ошибки проверки будут отображаться в представлении "проблемы" и выделяться в файлах до тех пор, пока вы не укажете ему на повторную проверку, поэтому после сохранения настроек проверки JSP щелкните правой кнопкой мыши на проекте, чтобы проверить все в нем;это позволит устранить ошибки.
Ответ пользователя 85835 немного помог мне, но мне также нужно было выполнить эти два дополнительных шага.
Во-первых, чтобы фактически удалить предупреждения и ошибки и избежать их немедленного воссоздания, сделайте следующее:
- Отключите автоматическую немедленную перестройку после очистки, которая выполняется в режиме Очистки...окно.
- Чистый проект
Затем закройте Eclipse и удалите <nature>org.eclipse.wst.jsdt.core.jsNature</nature> как описано пользователем 85835.
Но перед перезапуском Eclipse также выполните этот второй шаг.
- В вашем файле .project найдите <buildCommand> XML-блок, содержащий <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>.
- Если вы обнаружите это, удалите и этот блок.
Затем сохраните файл .project и снова запустите Eclipse
Восстановите очистку и перестройте настройки так, как вы хотите, чтобы они были.
У меня это сработало.