我觉得自己处在一种特殊的情况下,因为我找不到任何有关如何进行这种交互的文档。我有一个包含Flask应用程序的存储库,该应用程序将包含通过webpack从其他根目录编译的代码,例如:
REPO_ROOT/
|-- src/
|-- client/
|-- app/
|-- css/
|-- styles.css
|-- js/
|-- index.js
|-- index.html
|-- node_modules/
|-- package.json
|-- webpack.config.js
|-- server/
|-- .venv/
|-- app/
|-- static/
|-- templates/
|-- __init__.py
|-- MANIFEST.in
|-- setup.py
|-- tests/
|-- requirements.txt
|-- setup.cfg
... other meta files ...
我遇到的问题:当我打开该项目时,node_modules/
被正确识别,并且在client/
文件中得到正确的完成,但是server/
却没有。将Python SDK设置为指向我的虚拟环境后,我在server/
文件中获得了完成,但是client/
停止了工作!然后,它错误地将src/
标记为“项目”视图中的 库根 。
问题:如何设置IntelliJ来识别.venv
和 node_modules
以便自动完成?当我在package.json
上运行install时,它可以正确识别其所在的路径,但仍然无法使用。
IntelliJ Ultimate 2019.2.1
NodeJS和Python插件
我尝试过的一些其他操作-删除插件中的SDK,删除node_modules/
和.venv/
,清除IntelliJ缓存,重新启动,通过UI重新创建库,并且仍然得到相同的结果结果。设置Python SDK后,它立即中断了node_modules/
被标识为 库根 。
答案 0 :(得分:0)
我已经对此进行了试验,并得出结论:将flask应用程序安装到由IntelliJ加载的虚拟环境SDK中时,它无法将另一个库的根目录嵌套在另一个库中。
我通过将js特定的元文件与py特定的元文件一起移到根目录来解决此问题,最终看起来像这样:
REPO_ROOT/
|-- .venv/
|-- node_modules/
|-- src/
|-- app/
|-- static/
|-- css/
|-- style.css
|-- js/
|-- index.js
|-- templates/
|-- index.html
|-- __init__.py
|-- tests/
|-- MANIFEST.in
|-- package.json
|-- requirements.txt
|-- setup.cfg
|-- setup.py
|-- webpack.config.js
这需要在webpack
中进行额外的配置,以将static/
指定为我的上下文,并添加一个dist/
作为输出,但是在现阶段,它可以正常工作。