Webstorm无法识别JavaScript文件


70

看

Webstorm无法将我的.js文件之一识别为JavaScript文件,因此我丢失了语法高亮显示并无法添加断点。我查看了该workspace.xml文件,所讨论的文件似乎具有与其他可以正常工作的.js文件类似的设置。

如果我更改文件名,就可以了。因此,Webstorm会因某种原因而误解了具有该名称的文件的类型。我还能在哪里编辑项目?

上下文菜单


可能是损坏的索引—尝试运行“文件->使缓存无效...”
anstarovoyt 2014年

我确实无效+重新启动,但不幸的是没有变化。
伊恩·沃伯顿

文件的上下文菜单中是否有“标记为JavaScript”操作?
anstarovoyt 2014年

我已将上下文添加到问题中。它很大!
伊恩·沃伯顿

到目前为止,没有一个答案对我有用。我重命名了文件,并将其识别为JS。
最多

Answers:


170

因此,我看到了此问题的三个可能原因:

  1. 该文件被标记为“纯文本”

  2. “文本文件”文件类型有一个与此文件匹配的模式(或反过来:“ JavaScript”文件类型不包括该文件名)。见下图

在此处输入图片说明

  1. 有一个自定义插件可以覆盖具有该名称的文件的默认行为(不太可能)

更新:几年后,我发现了这种行为的另一个原因,并且很可能是问题的主要根源。创建没有任何扩展名的文件时,将显示“注册新文件类型关联”。您可能会意外地为某些文件名指定新的文件类型。可以使用(2)进行修复,但这是在此处添加模式的原因。

注册新文件类型关联

注意:该解决方案适用于所有基于IDEA的IDE:IntelliJ IDEA,WebStorm,RubyMine,PyCharm,PhpStorm。


3
我认为1)最有可能是因为我弄乱了将其创建为js文件的开始。如何正确标记?
伊恩·沃伯顿

5
@IanWarburton肯定是#2-#1的文件图标会稍有不同。特别要考虑您的最新评论“我一开始就把它创建为js文件就搞砸了”
LazyOne 2014年

6
这很容易做到。如果您“新建”一个通用文件而忘记将扩展名放在对话框中,它将切换为定义模式。如果您随后输入扩展名,那么您已经定义了一种新的文本文件!
伊恩·沃伯顿

1
请注意,这也适用于的IntelliJ IDEA(见youtrack.jetbrains.com/issue/WEB-19160
罗兰埃瓦尔德

1
这就是我的答案。我创建了一个没有扩展名的新文件,并且在下一个对话框中提示输入文件类型时,我添加了扩展名,而不是从列表中选择一个扩展名。那时intellij“有帮助地”将我的新文件添加到了文本文件列表中:/
worc

14

文件->设置->编辑器->文件类型->文本文件->检查那里的“ ContentRepository.js”模式并将其删除。


11

如果文件被标记为“纯文本”,则可以按以下方式解决:

  1. 右键单击该文件。

  2. 菜单选项之一是“标记为Javascript”。在“删除”下方。

  3. 点击那个。WebStorm现在将您的文件识别为javascript。

由于WebStorm右键单击后不允许截图,因此无法在此处添加。



1

您也可以尝试“模板数据语言”(在文件>设置中),这将在特定文件或文件夹上突出显示特定语言的语法。见下面的截图在此处输入图片说明

对于代码块,您还可以使用“语言注入”。只需突出显示代码块,等待小灯亮起,然后选择底部选项,然后选择所需的语言即可(还附有屏幕截图)

在此处输入图片说明


0

如果在其他地方有帮助(OMG,这很可怕)。

由于某种原因,IntelliJ无法识别.js我的项目中的任何文件(即使在.idea删除(rm -rf .idea)之后)。

我去了Webstorm(对我来说RubyMine):Webstorm > Preferences ... > Editor > File Types然后去认可提起类型,挑选的Javascript(但无论你缺少会做文件类型),然后重新添加一个注册模式进入*.js

当然,请按Apply,然后按Ok

哇,可怕的东西。但解决了我的问题,希望对其他人有帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.