Pythonに限ったことではないですが、「チーム全体の生産性と開発環境の統一」のために、便利な方法をメモしておきます。
現代のモダンな開発現場では「必須」のプラクティスではないかと思います。
.vscode ディレクトリをGitで管理することで、新しくチームに入った人がリポジトリを git clone して VS Code で開いた瞬間、「推奨の拡張機能をインストールしますか?」と聞かれ、設定も自動適用されるようになります。
具体的に、PythonのVSCode拡張機能(型チェックやRuff)を含めた「最強のスタートキット」の作り方を見ていきましょう。
※あくまで例ということで参考にしてみてください。
1. 推奨拡張機能の共有 (extensions.json)
これを置いておくと、チームメンバーが VS Code でプロジェクトを開いた際に、右下に「このワークスペースには推奨の拡張機能があります」という通知が出て、ワンクリックでインストールできるようになります。
.vscode/extensions.json
ここには、各拡張機能のIDを記載します。
以下はわかりやすくコメントしていますが、JSONファイルなのでコメントは消しておいた方が良いと思います。
(※.vscode の中はコメントあっても特別に大丈夫という話も聞きますが…)
|
1 2 3 4 5 6 7 8 |
{ <span class="hljs-attr">"recommendations"</span>: [ <span class="hljs-string">"ms-python.python"</span>, <span class="hljs-comment">// Python本体 & Pylance</span> <span class="hljs-string">"charliermarsh.ruff"</span>, <span class="hljs-comment">// 先ほど紹介した最強のLinter/Formatter</span> <span class="hljs-string">"tamasfe.even-better-toml"</span> <span class="hljs-comment">// pyproject.tomlを見やすくする(あると便利)</span> ] } |
2. 設定の共有 (settings.json)
ここで、フォーマッターの指定を記述します。
ここでの設定は「ワークスペース設定」と呼ばれ、各個人の「ユーザー設定」よりも優先されます。つまり、メンバーが個人的にどう設定していようと、このプロジェクトを開いている間だけは、チームのルールが強制(適用)されます。
.vscode/settings.json
繰り返しになりますが、以下はわかりやすくコメントしていますが、JSONファイルなのでコメントは消しておいた方が良いと思います。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
{ <span class="hljs-comment">// --- Pythonの基本設定 ---</span> <span class="hljs-comment">// 型チェックを「basic」で統一</span> <span class="hljs-attr">"python.analysis.typeCheckingMode"</span>: <span class="hljs-string">"basic"</span>, <span class="hljs-comment">// --- フォーマッター(Ruff)の設定 ---</span> <span class="hljs-comment">// PythonファイルはRuffでフォーマットする</span> <span class="hljs-attr">"[python]"</span>: { <span class="hljs-attr">"editor.defaultFormatter"</span>: <span class="hljs-string">"charliermarsh.ruff"</span>, <span class="hljs-attr">"editor.codeActionsOnSave"</span>: { <span class="hljs-attr">"source.organizeImports"</span>: <span class="hljs-string">"explicit"</span> <span class="hljs-comment">// 保存時にimport順序も直す</span> } }, <span class="hljs-comment">// 保存した瞬間にフォーマットを掛ける</span> <span class="hljs-attr">"editor.formatOnSave"</span>: <span class="hljs-literal">true</span>, <span class="hljs-comment">// --- その他のおすすめ設定 ---</span> <span class="hljs-comment">// 検索対象から除外するフォルダ(動作を軽くする)</span> <span class="hljs-attr">"search.exclude"</span>: { <span class="hljs-attr">"**/__pycache__"</span>: <span class="hljs-literal">true</span>, <span class="hljs-attr">"**/.venv"</span>: <span class="hljs-literal">true</span> } } |
3. Git運用の注意点
この運用をする際、.gitignore の設定に注意が必要です。
通常、.vscode フォルダ自体はGit管理に含めますが、個人のローカル環境に依存するファイルが含まれる可能性があるため、賢いチームは以下のように設定するようです。
.gitignore ファイルに追加
|
1 2 3 4 5 6 7 8 9 |
# .vscodeフォルダ内のすべてを一旦除外 .vscode/* # ただし、チームで共有したいこの2つだけは許可(除外しない) !.vscode/settings.json !.vscode/extensions.json !.vscode/launch.json # ↑ launch.json はデバッグ実行の設定です。これも共有すると喜ばれます。 |
もし、.gitignore がすでにあり、.vscode/ 全体が除外されている場合は、git add -f .vscode/settings.json のように -f (force) オプションを使えば強制的にコミットできます。
※使用には自己責任でお願いいたします。
まとめ
これは、コードを書く以前の「環境整備」という重要なタスクです。
-
ローカルで
.vscodeフォルダを作る。 -
上記の内容でjsonファイルを作る。
-
VS Codeを再起動して、意図通り動くか確認する。
これができれば、「チームの環境を改善する人」です。
