VS Codeでのチーム開発(Laravel)について調べた
はじめに
チーム開発でLaravelをつかったWebApplicationを作ることになりました。
エディターについては VS Code
を使うことになったので、
効率の良い開発環境を提供できるように調べてみました。
チームについて
PCについては、 Windows
と Mac
の2種類を開発者が選択して利用している状況です。
プロダクトのバージョン管理は Github
で行っています。
他のプロダクトについてもVS Codeで開発する可能性があります。
※ 開発言語はPHP,Laravelに限らない
やる/やらない整理
漠然としたやりたいことリストを作成し、
ネット検索して実現可能/不可能に仕分けしました。
そこからやる/やらないを検討しました。
やりたいことリスト
- GithubからCloneしたら少ない手順でローカルで起動できる
- Windows / Mac OSに捉われずどちらでも動作する
- プロダクト毎にExtension使用状況をカスタマイズできると良い
- チーム内で同じルールのもとFormatterが適用できる
やるリスト
-
./.vscode/settings.json
を作成しGit管理する- GithubからCloneしたら各人が設定せずともすぐ利用できる
- Windows / Mac どちらでも動作する
-
settings.json
に色々用意する- チーム内で同じルールのもとFormatterが適用できる
やらないリスト
- プロダクト毎にExtension使用状況をカスタマイズできると良い
- 実現方法がわかりませんでした。
- ->
./.vscode/extensions.json
で実現できそう(2022.10.05 add)
- ->
- 実現方法がわかりませんでした。
settings.jsonの作成
VS Codeの各種設定は settings.json
に保存されています。
settings.json
については、 ユーザ設定
と ワークスペース設定
の2種類があります。
ワークスペース設定
が存在する場合、 ユーザ設定
よりも優先されるようです。
ワークスペースとは
(VS Codeにおいて)フォルダとその配下をとりまとめる概念です。
Githubからクローンしてきたリポジトリを1ワークスペースとして保存するようにします。
①作成
Githubで管理しているリポジトリに
./.vscode/settings.json
をCommitします。
※ .vscode
なので注意
最小限必要そうな設定を settings.json
に書き込み、Commit&Pushしておきます。
今回だと、
- PHPのフォーマッタのルール設定
- HTML,JSのフォーマッタルールの設定
などが挙がります。
.gitignore
に settings.json
を追加します。
※ 各人が追加書き込みしても、Gitの管理対象とならないようにしておきます
②周知
VS Codeの設定は ./vscode/settings.json
で制御している旨をチームに案内します。
案内方法はリポジトリ直下の readme.md
や環境構築資料にあると良いと思います。
環境毎に設定が異なる場合などは、手動で変更する必要がある旨も記載しておきます。
例えば、WindowsとMacだとディレクトリ構造が変わったりするなどなど。
解決策を探している課題
- Extensionを各々がイントールしなければならない
- 必要最低限を環境構築資料に記載し、手動でインストールしてもらっている
- コード管理し、1回のコマンドで必要なものをインストールできるようにしたい
- Extension利用状況をワークスペース毎に制御したい
- 開発言語毎にVS Codeの設定を切り替えたい。
『JavaのプロダクトにPHPのプラグインなんて必要ない。』- ->
./.vscode/extensions.json
で実現できそう(2022.10.05 add)
- ->
- 開発言語毎にVS Codeの設定を切り替えたい。
おまけ
チーム開発(Laravel)用のExtension
2021年時点で、作業が捗りそうなプラグインを厳選しました。
ExtensionName |
---|
Laravel Artisan |
Laravel Snippets |
Laravel Blade Snippets |
Laravel goto Controller |
Laravel goto View |
PHP Intelliphense |
PHP DocBlocker |
PHP Namespace Resolver |
php cs fixer |
Discussion