簡體   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