我正在开发一个使用 PhpStorm 和 Docker 来管理开发环境的项目。通常,我将 PhpStorm 配置为使用在 Docker 容器中运行的 PHP,无论是用于运行 linter、质量保证工具还是其他任务,它都能完美运行。
现在,我正在开发一个项目,该项目也涉及使用 Angular 和 TypeScript 进行前端开发,这需要 Node.js。为了简化我的设置,我创建了一个结合了 PHP、Node.js 和所有必要依赖项的 Docker 映像。但是,在尝试配置 PhpStorm 以使用此设置时,我遇到了两个问题:
重新使用已经运行的 Docker 容器
对于 PHP 工作流程,PhpStorm 允许我连接到已经运行的 Docker 容器。但是,当我尝试使用 Node.js 远程插件设置 Node.js 时,PhpStorm 始终会创建一个新容器,而不是使用已在运行的容器。这显着减慢了工作流程。有没有一种方法可以将 PhpStorm 配置为使用现有的 Node.js 容器而不是创建新容器?
使用目录映射配置 ESLint
我使用 ESLint 作为我的开发过程的一部分,但我无法在 PhpStorm 中正确配置它。具体来说,我需要在 Docker 容器内手动设置工作目录和 ESLint 配置文件路径。在 PHP 工作流程中,PhpStorm 允许我将本地文件系统映射到容器的文件系统,但我找不到 ESLint 的类似功能。如何在本地项目和 Docker 容器之间设置正确的目录映射以使 ESLint 在此设置中工作?
在这种情况下,为 Node.js 和 ESLint 配置 PhpStorm 的最佳方法是什么?是否需要任何额外的插件或步骤?
关于1.目前Phpstorm没有此选项,但有相关的YouTrack功能请求:https://youtrack.jetbrains.com/issue/WEB-64513
我对 laravel 和 vite 也有类似的问题。某种解决方法是仅使用 Node.js 映像创建单独的容器,然后将 Phpstorm 配置为通过此容器运行实用程序命令,并将其他服务保留在主容器中。