1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VS CodeでGitHub Copilotを活用してコーディング規約や設計思想を反映させる方法

Posted at

はじめに

VS CodeからGitHub Copilotを利用する際に,事前情報を与える方法について調べた内容を整理したものです.
筆者はこれらの機能を検証中で十分使いこなせていませんが,ご容赦ください.

GitHub Copilotの基本設定

まずは,VS CodeでGitHub Copilotを設定する方法について説明します.

1. GitHub Copilot拡張機能のインストール

  1. VS Codeを開きます.
  2. 拡張機能マーケットプレイスで「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がより適切なコード提案を行うようになります.

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
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?