繁体   English   中英

如何配置WebStorm / PhpStorm项目,以便JS代码智能适用于Node.js项目?

[英]How to configure WebStorm / PhpStorm project so that JS code intelligence works well for Node.js projects?

在WebStorm / PhpStorm / IDEA中,内置了JavaScript的代码智能功能相当多。但是,在开发Node.js应用程序时,包括node_modules所有内容node_modules使“导航到文件”等问题node_modules复杂(我不知道)希望IDE从node_modules文件夹中提供数十个package.json ,例如)。 但是完全排除node_modules文件夹有其自身的问题 - 没有代码完成等。

那么在WebStorm中解决这个问题的“正确”方法是什么? 我应该只包含node_modules一些文件吗? 或者从那里排除所有内容并以某种方式使用项目或全局库的概念?

谢谢。

要在UI中执行此操作(从PyCharm 2.7.3测试,结果显示在PhpStorm 6.0.3中):

添加JavaScript库

添加JavaScript库

文件→设置
(项目设置)→JavaScript→库

[添加...]→

名称node_modules
Visiblilty :[x]当前项目
[连接...]
{select project的node_modules文件夹}

{重复为凉亭 }

从项目中排除文件夹
从项目中排除文件夹

(项目设置)→项目结构
右键单击文件夹→[排除]

要从项目的.iml文件执行此操作:
将项目的.iml更改为以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <excludeFolder url="file://$MODULE_DIR$/bower_components" />
      <excludeFolder url="file://$MODULE_DIR$/node_modules" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="node_modules" level="application" />
    <orderEntry type="library" name="bower_components" level="application" />
  </component>
</module>

导致编辑器排除node_modules和bower_components,但使它们可用于完成和库搜索

在PyCharm,IntelliJ和WebStorm中测试过。

这已在WebStorm 7中修复,请参阅http://youtrack.jetbrains.com/issue/WEB-1927

不幸的是,没有简单的“正确”方式。 您可以排除位于顶级node_modules目录中的所有node_modules目录。 这将使完成更好,但不理想。
进一步的讨论在这里: http//devnet.jetbrains.net/message/5468926

您可以下载Node.js集成的插件: http//plugins.intellij.net/plugin/? webide&pluginId = 6098

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM