Я пишу некоторые утилиты командной строки node. Все они начинаются с строки:
#!/usr/bin/env node
С Eclipse Juno и плагином Nodeclipse Node.js эта строка кода выдает ошибку, как показано:
ОК, поэтому #
не является допустимым символом комментария в javascript, но он является допустимым символом в Linux/UNIX как shebang первой строки в файле. Но как я могу настроить Eclipse, чтобы игнорировать эту ошибку? Это проблема для меня, потому что форматирование кода не работает, если у вас есть ошибки. Я должен удалить строку. Нажмите CTRL-SHIFT-F и добавьте строку назад.
Я пробовал много вещей и исследовал, но я не могу найти ответ.
Существует дублированный вопрос, синтаксическая ошибка eclipse javascript на строке hashbang, но у моего вопроса больше информации.
EDIT:
Похоже, было что-то добавлено в jshint, чтобы позволить shebangs в первой строке. Возможно, мне нужно обновить свой node -eclipse, или, возможно, проект node -eclipse должен обновить jshint?
- Интеграция jclint eclipse - это версия 0.9.6.
- My nodeclipse - 0.4.0.20130519...
Я обновился до
- интеграция jshint eclipse 0.9.9.20131029
- nodeclipse 0.7.0.20131101
Это не помогло.
Вот моя версия JSHint в eclipse:
ИЗМЕНИТЬ 2:
Спасибо за ответ VonC. Но я думаю, что это показывает, что у меня нет спецификации в файле. Любые другие идеи?
$ od -N 20 -t x1 hello.js
0000000 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 6e
0000020 6f 64 65 0a
0000024
ИЗМЕНИТЬ 3:
Что касается ответа Пола Вереста ниже, я попытался отключить проверку JSDT, но я не могу это сделать. Я снял флажок "Включить семантическую проверку JavaScript" (в Eclipse см. "Окно" > "Настройки" > "JavaScript" > "Валидатор" > "Ошибки/предупреждения" ), но проблема остается.
Теперь я удаляю Eclipse Web Developer Tools 3.4.2. Это не помогло, и теперь мои редакторы CSS и HTML исчезли. Теперь я попытался отключить проверку JSDT, следуя некоторым идеям в этом вопросе SO, Как удалить проверку javascript из моего проекта eclipse?.
Итак, я вошел в мои свойства проекта и перешел на JavaScript > Validation. Я настроил все на "Включенные конкретные настройки проекта" и снял флажки "Ошибки/Предупреждения", "JSDOC" и т.д. Несмотря на это, я думаю, что проверка продолжается, так как проблема сохраняется! Мои свойства "Строители" содержат только список "Контроллер проблем JSHint", который включен. (Я делаю все это в новом тестовом проекте с hello.js).
РЕДАКТИРОВАТЬ 4, ОТВЕТ
Это было нелегко, но я закончил взлом файла .project в Eclipse. У меня было это:
<natures>
<nature>org.nodeclipse.ui.NodeNature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
Я удалил характер jsdt, и теперь ошибка на линии shebang GONE! Я сделал это в своем тестовом проекте и в моем реальном проекте. Это сработало! Это на самом деле очень полезно, так как я могу отформатировать файл, и теперь я запускаю jshint.