使用 Docker 在 PhpStorm 上配置 CodeSniffer
Configure CodeSniffer on PhpStorm using Docker
我正在使用 PhpStorm 开发一个项目,我正在使用 Php 7.1 和 Docker。我想在 PhpStorm 中集成 PHP 代码嗅探器。
在 PhpStorm 中,我转到 Settings|Languages&Frameworks|PHP|CodeSniffer 并尝试添加新配置,我提供为 PHP Code Sniffer (phpcs) path 脚本路径,内容如下:
#!/usr/bin/env bash
docker run --rm -ti --volume "$(pwd):/app:rw" -u $(id -u):$(id -g) prooph/php:7.1-cli php vendor/bin/phpcs "$@"
我的 docker 容器中只有 运行 个 phpcs
。
当我单击 Validate 时,PhpStorm 给我以下消息:
The input device is not a TTY
当来自 PhpStorm 控制台的 运行 时,相同的脚本可以完美运行。
我是不是做错了什么?或者我正在尝试做的事情不受支持?
你应该 运行 它没有 -t 标志:
#!/usr/bin/env bash
docker run --rm -i --volume "$(pwd):/app:rw" -u $(id -u):$(id -g) prooph/php:7.1-cli php vendor/bin/phpcs "$@"
-t
分配伪 TTY,这就是它在 PhpStorm 控制台上工作的原因。
在 PhpStorm 2019 中,它开箱即用,不需要 bash 脚本包装器。
首先,您需要转到“项目设置”>“语言和框架”>PHP。
单击字段 "CLI interpreter" 旁边的按钮 ... 并将其配置为与 Docker 一起使用,选择您的图像名称。
配置 CLI 解释器后,转到项目设置 > 语言和框架 > PHP > 质量工具,然后单击 PHP_CodeSniffer 旁边的三个点 (...) 按钮。添加使用刚刚添加的 CLI 解释器的新配置并填充 CodeSniffer 路径(在我的例子中是“/opt/project/vendor/bin/phpcs”)。
瞧!
我正在使用 PhpStorm 开发一个项目,我正在使用 Php 7.1 和 Docker。我想在 PhpStorm 中集成 PHP 代码嗅探器。
在 PhpStorm 中,我转到 Settings|Languages&Frameworks|PHP|CodeSniffer 并尝试添加新配置,我提供为 PHP Code Sniffer (phpcs) path 脚本路径,内容如下:
#!/usr/bin/env bash
docker run --rm -ti --volume "$(pwd):/app:rw" -u $(id -u):$(id -g) prooph/php:7.1-cli php vendor/bin/phpcs "$@"
我的 docker 容器中只有 运行 个 phpcs
。
当我单击 Validate 时,PhpStorm 给我以下消息:
The input device is not a TTY
当来自 PhpStorm 控制台的 运行 时,相同的脚本可以完美运行。
我是不是做错了什么?或者我正在尝试做的事情不受支持?
你应该 运行 它没有 -t 标志:
#!/usr/bin/env bash
docker run --rm -i --volume "$(pwd):/app:rw" -u $(id -u):$(id -g) prooph/php:7.1-cli php vendor/bin/phpcs "$@"
-t
分配伪 TTY,这就是它在 PhpStorm 控制台上工作的原因。
在 PhpStorm 2019 中,它开箱即用,不需要 bash 脚本包装器。
首先,您需要转到“项目设置”>“语言和框架”>PHP。 单击字段 "CLI interpreter" 旁边的按钮 ... 并将其配置为与 Docker 一起使用,选择您的图像名称。
配置 CLI 解释器后,转到项目设置 > 语言和框架 > PHP > 质量工具,然后单击 PHP_CodeSniffer 旁边的三个点 (...) 按钮。添加使用刚刚添加的 CLI 解释器的新配置并填充 CodeSniffer 路径(在我的例子中是“/opt/project/vendor/bin/phpcs”)。
瞧!