はじめに
VS CodeからGitHub Copilotを利用する際に,事前情報を与える方法について調べた内容を整理したものです.
筆者はこれらの機能を検証中で十分使いこなせていませんが,ご容赦ください.
GitHub Copilotの基本設定
まずは,VS CodeでGitHub Copilotを設定する方法について説明します.
1. GitHub Copilot拡張機能のインストール
- VS Codeを開きます.
- 拡張機能マーケットプレイスで「GitHub Copilot」を検索し,インストールします.
2. settings.json
ファイルの編集
コーディング規約を設定するために,以下のようにsettings.json
ファイルを編集します.
{
"github.copilot.codeCompletion": true,
"github.copilot.codeStyle": {
"conventions": "your_convention_file_path"
}
}
ここで,your_convention_file_path
はコーディング規約ファイルのパスを指します.
この方法で指定したyour_convention_file_path
の内容は全ファイル共通で反映されます.
本記事の執筆時点では,拡張子別に独自のコーディング規約を指定することはできず,下記のようにsettings.json
ファイルに記述することでコーディング規約を指定することができる.
{
"github.copilot.codeStyle": {
"*.js": "eslint",
"*.ts": "typescript",
"*.py": "python"
}
}
JavaScript (*.js
)
- eslint: ESLintはJavaScriptのコード品質を向上させるためのツールで,Airbnb,Google,Standardなどのスタイルガイドを使用することができます
- prettier: Prettierはコードフォーマッターで,スタイルの一貫性を保つために使います
TypeScript (*.ts
)
- typescript: TypeScriptの公式ガイドラインに従います
- tslint: TSLintはTypeScript用の静的解析ツールですが,現在はESLintとの統合が進んでいます
- prettier: JavaScriptと同様に,Prettierを使ってコードフォーマットを統一します
Python (*.py
)
- python: PythonのPEP 8スタイルガイドに従います
- pylint: PylintはPythonコードの品質を向上させるためのツールです
- black: BlackはPythonコードフォーマッターで,コードスタイルの一貫性を保つために使用されます
HTML (*.html
)
- html: HTMLの標準的なコーディングスタイルに従います
- prettier: PrettierはHTMLのコードフォーマットにも対応しています
CSS (*.css
)
- stylelint: StylelintはCSSのコード品質を向上させるためのツールです
- prettier: PrettierはCSSのコードフォーマットにも対応しています
JSON (*.json
)
- json: JSONのフォーマットに関する標準的な規約に従います
- prettier: JSONのフォーマットにもPrettierを使用できます
Markdown (*.md
)
- markdownlint: MarkdownlintはMarkdownファイルの品質を向上させるためのツールです
- prettier: MarkdownファイルのフォーマットにもPrettierを使用できます
ソフトウェアの設計思想を反映させる方法
GitHub Copilotにソフトウェアの設計思想を理解させるために,以下の手順を実行します.
1. コメントを活用する
コード内に設計思想やアーキテクチャに関するコメントを追加します.
def example_function(param1, param2):
"""
この関数はparam1とparam2を使って特定の処理を行います.
設計思想としては,シンプルで再利用可能な関数を目指しています.
Args:
param1 (type): 説明
param2 (type): 説明
Returns:
type: 説明
"""
pass
2. ドキュメントの参照
プロジェクトリポジトリに設計思想やアーキテクチャに関するドキュメントを追加します.特に,README.mdやその他のMarkdownファイルに設計情報を記載します.
3. GitHubのWikiやプロジェクトサイトの利用
GitHubのWiki機能やプロジェクトサイトを使って,詳細な設計ドキュメントやガイドラインを提供します.
4. コードレビューやペアプログラミングの活用
設計思想を共有するために,コードレビューやペアプログラミングを行い,その結果をドキュメント化しておきます.
GitHub Copilotのコンテキスト理解
GitHub Copilotは,VS Code拡張機能として以下の方法でプロジェクト全体のコンテキストを把握します:
- 現在のファイルの内容を基に補完を提案
- プロジェクト内の他のファイルを参照
- コード内のコメントやドキュメントコメントを考慮
これらの内容をプロンプトに明示することで,GitHub Copilotがより適切なコード提案を行うようになります.