Eclipse 3.4 Ganymede Javascript Validation Issue

Я только что обновился до Eclipse 3.4 во второй раз и думаю, что теперь это навсегда. Первый раз (как раз тогда, когда он был выпущен) был слишком глючным для меня (в основном плагин PDT 2.0); но теперь вроде все наладилось.

Моя проблема - это валидатор Javascript. Если я определяю класс в одном файле JS в моем проекте, а затем пытаюсь использовать его в другом, он сообщает мне, что тип не определен. Это действительно раздражает, так как некоторые из моих скриптов усеяны красными волнистыми линиями.

Другая проблема в том, что этот код:

var m_dialogFrame = document.getElementById(m_dialogId);

Создает желтую волнистую линию с надписью «Несоответствие типов: невозможно преобразовать из Element в ___m_dialogBody5». Я могу исправить это, добавив

    /**
     * @type Element
     */

Перед этим, но это тоже будет беспорядочно.

Также оба:

new XMLHttpRequest();

И

new ActiveXObject("Microsoft.XMLHTTP");

Появляются красные волнистые линии, говорящие: "x не может быть преобразован в тип"

Последняя проблема:

если (m_options.width! = "авто")

Загорается красной волнистой линией, потому что: «Оператор! = Не определен для типа (ов) аргумента Number, String»

Как я могу исправить эти проблемы или просто отказаться от всего инструмента проверки Javascript? Кстати: это выглядит классно, если я могу заставить его работать.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
12
0
23 182
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

К сожалению, вам, возможно, придется отказаться от проверки JavaScript.

По моему опыту, инструментам JavaScript, которые поставляются в комплекте с Eclipse 3.4, приходится нелегко ... ну, понимание JavaScript вообще создает ложные предупреждения и ошибки.

Например, обычная практика использования Object в качестве пространства имен бедняков приводит к его полной потере. Вот скриншот того беспорядка, который он создает при попытке понять этот файл JavaScript - обратите внимание на бесполезный вид схемы и ложные (и неправильные) предупреждения и ошибки (включая непонимание того, что String.split возвращает Array).

Окно -> Настройки -> Проверка -> Проверка синтаксиса JavaScript

Jonny Buchanan 05.11.2008 00:23

Кто-нибудь еще не смог отключить проверку JavaScript в Ганимеде? Пробовали вышеуказанное. Также пробовали Window -> Preferences -> Validator -> Errors / Warnings и проигнорировали все. Но я все еще вижу ошибки. Любая помощь будет оценена по достоинству.

Ben 21.01.2009 08:22

Возможно, вам также придется перейти в Project-> Properties-> JavaScript-> JavaScript Libraries, вкладку Source и удалить все записи для вашего проекта.

David Citron 01.04.2009 23:09

После нескольких часов осмотра я нашел, как окончательно удалить проверку JS.

Это означает редактирование вашего файла .project, поэтому на всякий случай сделайте резервную копию.

  • Закрыть затмение
  • Откройте ваш .project файл
  • найдите следующую строку: <nature> org.eclipse.wst.jsdt.core.jsNature </nature>
  • удали это
  • сохраните ваш файл и запустите Eclipse

Больше нет повсюду красных или желтых скандалов ... но больше нет проверки js.

Если кто знает, как это сделать правильно, не редактируя файл .project, поделитесь пожалуйста.

Очевидно, чтобы полностью отключить проверку, вы также должны отключить «Сообщать о проблемах при вводе» в JavaScript -> Редактор.

Это помогло мне в Eclipse 3.6.2. После того, как я отключил проверку JS, красные линии все еще были на месте. Я отключил «Сообщать о проблемах по мере ввода», увидел, что они исчезли, затем снова включил «Сообщать о проблемах ...», и строки остались в стороне. Спасибо.

Cooter 16.05.2011 18:59
Ответ принят как подходящий

Похоже, эта проблема связана с тем, что в браузере Eclipse по умолчанию нет необходимых библиотек.

Попробуйте следующие шаги, чтобы добавить необходимую библиотеку: Проект -> Свойства -> JavaScript -> Библиотеки JavaScript -> Библиотеки (вкладка) -> Добавить библиотеку времени выполнения -> выберите «Библиотека Internet Explorer»

Это должно решить проблему. Это сработало для меня.

Это очень больно. Одним из способов решения проблемы для меня было исключение всех js-файлов из сборки. Свойства-> javascript-> Библиотеки-> вкладка Источник и исключите все файлы, которые вызывают проблемы .... жалко, потому что я хотел автозаполнение ....: (но нужно завершить проект для работы .... Если у кого-то есть решение, мы будем очень признательны :)

Это сделало это для меня. Спасибо 1000x. Я считаю, что Ганимед является здесь главной проблемой.

cgp 02.12.2010 00:38

Я обнаружил, что старые ошибки проверки будут отображаться в представлении проблем и выделены в файлах до тех пор, пока вы не скажете ему снова проверить, поэтому после сохранения настроек проверки JSP щелкните правой кнопкой мыши проект, чтобы проверить все в нем; это устранит ошибки.

Ответ user85835 мне немного помог, но мне также нужно было выполнить эти два дополнительных шага.

Во-первых, чтобы фактически удалить предупреждения и ошибки и избежать их немедленного воссоздания, сделайте следующее:

  1. Отключите автоматическое немедленное восстановление после очистки, которое выполняется в окне «Очистить ...».
  2. Чистый проект

Затем закройте Eclipse и удалите <nature> org.eclipse.wst.jsdt.core.jsNature </nature>, как описывает user85835.

Но перед перезапуском Eclipse также выполните этот второй шаг.

  1. В вашем файле .project найдите XML-блок <buildCommand>, содержащий <name> org.eclipse.wst.jsdt.core.javascriptValidator </name>.
  2. Если вы найдете это, удалите и этот блок.

Затем сохраните файл .project и снова запустите Eclipse.

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

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

Другие вопросы по теме