LoginSignup
1
0

More than 1 year has passed since last update.

PHPがない環境でEmacsでPSR2のflycheckを使用する

Last updated at Posted at 2020-04-04

Dockerを使って開発している場合、Emacsエディタが動いている環境にPHPがインストールされていない場合もよくあると思います。
EmacsでPSR2のflycheckを使って文法チェックを動かすためには、phpcsコマンドが使える必要があるので、わざわざPHPからインストールするのかという問題が出てきます。

それを避けるために、phpcsのDockerコンテナを使ってEmacsでflycheckを動かす方法を紹介します。
※ Docker等のインストールは完了していることが前提となります。
※ Docker化によるオーバーヘッド等の検証はまだ行っておりません。

環境

Ubuntu: 18.04 / 20.04
Docker: 19.03 / 20.10
Emacs: 25.2 / 26.3

※ 確認できた環境は逐次追加しています。

セットアップ

以下の内容のファイルを作成します。

/usr/local/bin/phpcs
#!/bin/bash
docker run -i -v $(pwd):$(pwd) -w=$(pwd) --rm phpqa/phpcs $@

実行権限を与えます。

chmod 755 /usr/local/bin/phpcs

動作確認します。

phpcs --version

これでEmacsが正しく設定されていればflycheckが正しく動作するようになるはずです。

参考

ここでは細かい.emacs側の設定はスキップしますが、参考までにこのようにflycheckを有効化しています。

.emacs
(add-hook 'php-mode-hook
          '(lambda ()
             (setq flycheck-phpcs-standard "PSR2")
             'php-enable-psr2-coding-style
             ))
(add-hook 'after-init-hook #'global-flycheck-mode)
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0