【问题标题】:How to mark a directory as library root?如何将目录标记为库根目录?
【发布时间】:2017-07-05 07:59:45
【问题描述】:

我在 PhpStorm 中有 2 个项目:一个运行良好,而另一个无法运行,我不知道是什么让第一个运行正常。

第一个适用于 bower、npm 和 composer 的库根目录:

第二个是 bower,npm 没有被检测为 library root :

所以 PhpStorm 中的行为是不同的,当我在第二个项目中使用导航文件时,默认情况下我会看到所有供应商文件:

如果我将目录标记为已排除,则 ide 不了解供应商类:

那么我们如何配置 IDE 以将目录标记为库根目录?

【问题讨论】:

  • 那么 .. 这是我们在这里讨论的 JavaScript 代码吗?因为这取决于实际语言。 对于 PHP -- Settings/Preferences | Languages & Frameworks | PHP | Include Paths -- 在此处添加的文件夹将被视为外部库。您现在可以将此类文件夹标记为已排除 - 这样,此处的错误/待办事项和其他内容将不会被视为项目代码的一部分,但代码完成仍然可用(因为它现在是库代码)。
  • 应该为 JavaScript 编写类似的故事——查看Languages & Frameworks | JavaScript | Libraries。我不是 JavaScript 人(只是基本的 jQuery 用法).. 所以对此不是 100% 确定.. 但我相信它应该由 IDE 根据您的 package.json 等自动处理。
  • thx @LazyOne,对于 php 文件,包含路径运行良好,这是真的。但是对于 javascript 文件来说,就没有那么简单了。另一个精确度,我将 npm 用于 webpack(所以排除路径很好)和 bower 用于公共资产,正是这个不能按预期工作
  • 我看到你已经用一些解决方案更新了你的问题。请将其作为实际答案发布并接受 - 它可能对处于类似情况的其他人有用。现在,您的票在搜索时看起来好像无人回答......

标签: intellij-idea phpstorm webstorm


【解决方案1】:

感谢@LazyOne 的评论,找到了解决方案:选择首选项 |语言和框架 | JavaScript |库,然后单击添加。选择您要添加的路径,该文件夹将被标记为库根目录。对非标准路径非常有用(例如,不是 bower_components)

【讨论】:

  • 还要注意,对我来说,如果我先选择对话框顶部的框架,“添加目录”会显示为灰色。当我再次尝试而不选择任何内容并尝试先添加我的目录时,IntelliJ 会自动填充顶部的字段。
【解决方案2】:

找到适合我的解决方案。

我打开了 .idea 文件夹(在 sublime 中),在所有文件中搜索文本 node_modules 并删除了包含它的行。

就我而言,我有 2 个条目

  • workspace.xml

<property name="ts.external.directory.path" value="$PROJECT_DIR$/node_modules/typescript/lib" />

  • project-name.iml

<content url="file://$MODULE_DIR$/node_modules" />

现在我的node_modules 目录再次自动标记为library root

【讨论】:

    【解决方案3】:
    • File > Settings > Directories
    • 删除所有node_modules 条目(右侧,x's)

    感谢@Allisone 提供手动解决方案。

    根据他们的回答,我能够使用设置复制解决方案。

    【讨论】:

      猜你喜欢
      • 2022-09-27
      • 2015-10-23
      • 2018-11-26
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      • 2017-06-06
      相关资源
      最近更新 更多