如何在WebStorm中更改现有文件的文件类型关联?

180

我无意中创建了一个没有扩展名的文件,并选择了错误的文件类型关联。 我认为是文本文档。 我将其重命名为我想要的.js扩展名,但现在它被卡住了,没有任何语法突出显示。 WebStorm不将其视为JavaScript文件。 我找不到任何地方可以更改WebStorm处理此文件的方式。 我已尝试将其重命名并将其重命名回来,但那并没有起作用。 对于任何其他名称(带有.js扩展名),它都将其视为JavaScript文件,但不适用于原始名称。

如何解决这个问题? WebStorm文档没有帮助。


经进一步调查,我无法可靠地重现此行为,但我看到有几个人提出了这个问题,所以我想这不是完全属于我自己的。 - Joseph Eames
5
https://dev59.com/CmYr5IYBdhLWcg3w0tWE#13374653 - CrazyCoder
1
谢谢CrazyCoder。由于我无法可靠地重现这种行为,我无法验证这是否可以解决这个问题,但它似乎是有效的。 - Joseph Eames
12个回答

250
设置 (或在mac中为 偏好设置) > 编辑器 > 文件类型 中,您可以通过一些模式编辑将某个文件与某种类型相关联。
如果您选择了一个错误的文件类型(在您的情况下是 文本 类型),您可以删除文件名模式,以便取消关联您的文件名与错误类型。
然后单击 应用 > 确定

20
FYI,我的WebStorm版本中这个选项在“首选项 > 编辑器 > 文件类型”下面。 - MrHen
2
这对我有用,我的一个文件名明确显示为“文本文件”,并且没有命中另一种文件类型的正则表达式。 - enderland
请记得选择特定的“文件类型”,例如“文本文件”,因为您的文件不在主菜单中,而是在此特定的文件类型子菜单中! - Dimitry K
我在将*.geojson文件与标准JSON模式关联时遇到了这个特定的问题。使用这个答案并添加必要的关联非常有效。感谢您的帮助。此外,应该将此答案标记为正确答案... - Matthew Fritz
2
应该提到,您应该“点击”意外映射到的匹配图标,以便编辑关联。我做了所有的步骤,直到这一步我才迷失了一分钟。谢谢! - mrClean
显示剩余3条评论

205

我在OSX上的php storm 8.0.3遇到了这个问题。

我正在努力解决一个被添加为文本文件的单个文件,但是我输入了.js扩展名。

我尝试删除和重新创建、重命名和重命名回来,甚至删除.idea文件夹。但仍然无济于事。

我发现PHPStorm将整个文件名添加到文本文件模式列表中。

....
*.txt
myfile.js
... etc

这显然覆盖了所有其他设置。而且它是在IDE配置而不是项目配置中。因此,我猜每个其他项目都会遇到同样的问题。

一旦我知道该去哪里找,问题很容易解决。

导航至:

PhpStorm > Preferences > Editor > File Types > <highlight> Text files

然后在已注册的模式选项卡中找到myfile.js,并将其删除。该文件应立即恢复正确的关联。


14
我知道这是考古学方面的问题,但是请Joseph Eames把这个标记为答案。你可以做到的 :) - demicanadian
1
这就是它。谢谢。此外,为什么编辑器会自动这样做?!! - Alex Ziskind
3
好问题 Alex,我之前也遇到了同样的问题。多亏了 Henry,我才得以解决 :) - AlexG
2
我刚刚在 PyCharm(另一个基于 IntelliJ 的 IDE)中使用了这个解决方案来解决类似的问题。位置相同,情况相同。一个最初与文本文件相关联的文件,无论我如何更改扩展名都不能更改。感谢您提供这个解决方案。这应该标记为答案。 - Preston Crawford
1
真是令人惊讶,这种情况仍在发生(对我来说,一个Dart文件被视为文本)。非常感谢您的修复,否则我可能会自杀。 - Geoffrey Zheng
显示剩余6条评论

31

进入设置->文件类型,然后点击“文本文件”。如果您向下滚动,应该可以看到该文件。然后,通过选择该文件并单击“-”(减号)按钮,您可以删除相关联的文件关联。


别忘了“应用”(就像我一样)! - Jason Moore

13

请参考文件 -> 设置 -> IDE设置 -> 文件类型

在右侧选择“文本文件”,然后在“已识别的文件类型”中找到您的文件,再点击“删除您的文件”。


10
在Windows 8上,我可以通过进入文件 > 设置 > 编辑器 > 文件类型来删除无效的关联。然后,我选择了 "文本文件" 作为识别的文件类型,并从底部的注册模式块中删除了无效条目。请保留以下HTML标签:


5

有很多答案,但都不适用于我的情况。

我有一个与.vue文件有关的问题。我的旧版本PHpStorm不能跟踪.vue文件,所以我将它们与.js文件关联起来。然而,这是错误的,因为语法不同,我在代码中看到了很多“错误”。

是的,解决方案真正在设置(或首选项mac)>编辑器>文件类型对话框中。在窗口中,您可以看到可能的关联列表。在列表底部,您将看到Vue.js模板,在底部窗口中没有关联(查看图片),因此我在点击绿色“+”后手动添加了*.vue关联。

我认为这对于任何正确添加到PHPStorm的文件类型都是正确的。但是,您可以添加自己的文件类型。PHPStorm associations


2
在我的情况下,涉及的文件是DepositBreakdownList.js,与“由文件内容自动检测到的文件类型”相关联。选择它,然后使用减号按钮将其删除,可以使该文件再次被视为正常的JavaScript文件。
在我这样做之前,即使文件扩展名是.js,我也无法使用与JavaScript相关联的实时模板,这真是令人发疯。
图片中的操作可以参考:Removing the mis-typed file

谢谢!我有多个文件都叫做constants.js,并且它们都被识别为纯文本,我必须手动选择每一个并覆盖文件类型。这正是我一直在寻找的,应该被接受为答案。 - Raul Rene

2
在新的WebStorm版本中,我们可以点击文件,选择Override File Type选项,并更改为我们想要的类型。
选择Override File Type选项:

enter image description here

选择文件扩展名:

enter image description here


1
这是最好的答案,至少对于Webstorm 2022来说是如此,而且可能在之前的版本中也是如此。您可以右键单击导航栏中的文件名,选择“覆盖文件类型”,或在“帮助”>“查找操作”中搜索该文件,而不是在项目视图中查找文件。 - jdunning
这只是覆盖了它。并不是期望的结果。 - undefined

1
这在PHPStorm中可行,我可以假设在WebStorm中应该有类似的东西。
  1. 前往首选项目录。以下是如何查找您的操作系统https://intellij-support.jetbrains.com/hc/en-us/articles/206544519-Directories-used-by-the-IDE-to-store-settings-caches-plugins-and-logs

  2. 找到文件YOUR_PREFERENCES_DIRECTORY/options/filetypes.xml

  3. 使用任何文本编辑器进行编辑,并删除需要的行,例如:

<mapping pattern="delete.yaml" type="PLAIN_TEXT" />
  1. 顶部菜单 文件->无效缓存/重启

  2. 享受


1
我发现在PhpStorm中可以使用“重构 > 重命名...”功能将未指定文件类型(例如没有扩展名的名称)的文件与文件类型关联起来。
例如,如果我有一个名为do_the_things的bash脚本,我可以将其重命名为do_the_things.sh,这会使它捕捉到bash语法高亮。然后当我将其重新命名回do_the_things时,它会保留bash语法高亮。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接