Webstorm не распознает файл JavaScript

Смотреть

Webstorm не распознает один из моих файлов .js как файл JavaScript, поэтому я теряю подсветку синтаксиса и не могу добавлять точки останова. Я просмотрел файл workspace.xml, и этот файл, похоже, имеет настройки, аналогичные другим файлам .js, которые работают правильно.

Если я изменю имя файла, он работает нормально. Итак, каким-то образом Webstorm застрял на неправильной интерпретации типа файла с таким именем. Где еще я могу отредактировать проект?

Контекстное меню


person Ian Warburton    schedule 11.11.2014    source источник
comment
могут быть битые индексы — попробуйте запустить «Файл -> Invalidate Caches...»   -  person anstarovoyt    schedule 11.11.2014
comment
Я сделал недействительным + перезапуск, но, к сожалению, без изменений.   -  person Ian Warburton    schedule 12.11.2014
comment
У вас есть действие «Пометить как JavaScript» в контекстном меню для файла?   -  person anstarovoyt    schedule 12.11.2014
comment
Я добавил контекст к вопросу. Оно большое!   -  person Ian Warburton    schedule 12.11.2014
comment
Ни один из ответов до сих пор не работал для меня. Я переименовал файл, и он был распознан как JS.   -  person Max    schedule 05.01.2018


Ответы (8)


Итак, я вижу три возможные причины проблемы:

  1. Файл был помечен как «Обычный текст».

  2. Существует шаблон для типа файла «Текстовые файлы», который соответствует этому файлу (или наоборот: тип файла «JavaScript» исключает это имя файла). См. изображение ниже

введите здесь описание изображения

  1. Существует специальный плагин, который переопределяет поведение по умолчанию для файлов с таким именем (маловероятно)

Обновлено: через несколько лет я нашел еще одну причину поведения и, скорее всего, это основной источник проблем. Когда вы создаете файл без каких-либо расширений, появляется Зарегистрировать новую ассоциацию типов файлов. И вы можете случайно указать новый тип файла для какого-то имени файла. Это можно исправить с помощью (2), но это причина, по которой шаблон был добавлен туда.

«Зарегистрировать

Примечание: решение работает для всех IDE на основе IDEA: IntelliJ IDEA, WebStorm, RubyMine, PyCharm, PhpStorm.

person anstarovoyt    schedule 12.11.2014
comment
Я думаю, что 1), скорее всего, потому, что я испортил создание его как файла js для начала. Как правильно отметить? - person Ian Warburton; 13.11.2014
comment
@IanWarburton Это точно № 2 - № 1 будет иметь немного другой значок файла. Особенно с учетом вашего последнего комментария Сначала я напортачил с созданием файла js - person LazyOne; 13.11.2014
comment
Ага... да, ты прав. Я не выбрал «Текстовые файлы» при просмотре шаблонов. Спасибо, баллы заслужены. - person Ian Warburton; 13.11.2014
comment
Это довольно легко сделать. Если вы «Создаете» универсальный файл и забываете указать расширение в диалоговом окне, он переключается на определение шаблона. Если вы затем наберете расширение, вы определили новый тип текстового файла! - person Ian Warburton; 14.11.2014
comment
Обратите внимание, что это также относится к IntelliJ IDEA (см. youtrack.jetbrains.com/issue/WEB-19160< /а>) - person Roland Ewald; 25.11.2015
comment
это был ответ для меня. я создал новый файл без расширения, и при появлении запроса о типе файла в следующем диалоговом окне я добавил расширение вместо того, чтобы выбирать его из списка. в этот момент Intellij услужливо добавил мой новый файл в список текстовых файлов:/ - person worc; 16.11.2016
comment
Для тех, кто не смог понять решение по скриншоту, смотрите ответ stackoverflow.com/questions/26872024/ - person meakgoz; 10.04.2018
comment
Вы спасли мой день. Спасибо! - person MrD; 09.05.2018
comment
Обнаружение этого сделало мой день! - person Niko; 20.04.2019

Файл -> Настройки -> Редактор -> Типы файлов -> Текстовые файлы -> проверьте наличие шаблона «ContentRepository.js» и удалите его.

person user2174102    schedule 20.04.2017

Если файл был помечен как «Обычный текст», то это можно исправить следующим образом:

  1. Щелкните правой кнопкой мыши файл.

  2. Один из пунктов меню — «Пометить как Javascript». Чуть ниже «Удалить».

  3. Щелкните это. Теперь ваш файл распознается WebStorm как javascript.

Поскольку WebStorm не позволял делать снимки экрана после щелчка правой кнопкой мыши, поэтому не мог добавить его сюда.

person shashi    schedule 18.01.2016

Для меня это помогло
1) Настройки
2) Редактор
3) Типы файлов
4) Поиск javascript
5) Добавить *.js к зарегистрированным шаблонам

person Yash Sharma    schedule 06.04.2018

Моя проблема была с Auto-detect file type by context

введите здесь описание изображения

person Mathias Gheno Azzolini    schedule 13.02.2021

Вы также можете попробовать «Языки данных шаблона» (в файле> настройки), что заставит подсветку синтаксиса определенного языка для определенного файла или папки. См. скриншот нижевведите здесь описание изображения

Для блока кода вы также можете использовать «языковую инъекцию». Просто выделите блок кода, дождитесь появления маленькой лампочки, затем выберите нижний вариант, а затем нужный язык (скриншот также прилагается)

введите здесь описание изображения

person Robert Sinclair    schedule 15.06.2019

На случай, если это будет полезно в другом месте (Боже мой, это было страшно).

По какой-то причине IntelliJ не распознавал ни одного файла .js в моем проекте (даже после удаления .idea (rm -rf .idea)).

Я перешел к Webstorm (в моем случае RubyMine): Webstorm > Preferences ... > Editor > File Types затем перешел к Распознанные типы файлов, выбрал Javascript (но подойдет любой отсутствующий тип файла), а затем снова добавил Зарегистрированные шаблоны< /strong> запись *.js

Конечно, нажмите Apply, а затем Ok.

Вау, страшная штука. но решил мою проблему, надеюсь, что это сделает для кого-то еще.

person kingPuppy    schedule 12.05.2020

Я всегда пытался добавить .js в качестве распознаваемых типов файлов, но каким-то образом .js было добавлено к Ignored Files and Folders.

Я только что удалил .js из Ignored Files and Folders, и у меня это сработало.

  1. Настройки
  2. редактор
  3. Типы файлов
  4. Игнорируемые файлы и папки
  5. Удалить *.js

WebStorm -- Игнорируемые файлы и папки

person Sohrab Hussain    schedule 17.01.2021