見出し画像

生成AIでのプログラミングで便利〜簡単に複数のソースコードをコピペ〜

ちょっと時間があったので、生成AIでのプログラミングの効率を大幅に向上させる便利なツールを作ってみました。

このツールは、指定したフォルダ内のソースコードを一括で抽出し、簡単にコピー&ペーストできるようにするプログラムです。生成AIのプロンプト作成、コードのリファクタリング、デバッグ作業に特に便利です。

ただ、Pythonの実行するための環境構築については説明していないので、初心者には難しいかもしれません。

イメージを動画で作成してみました。もちろん、これも生成AIで作成しています。


プログラムの主な特徴

  1. 特定の拡張子のファイルのみ抽出可能
    このプログラムを使用すると、.py(Pythonファイル)や.js(JavaScriptファイル)など、指定した拡張子のファイルのみを抽出することができます。もちろん、全部のファイルを指定することも可能です。

  2. Markdown形式での出力
    抽出したソースコードはMarkdown形式で整形され、文書や報告書の作成が簡単になります。

  3. 自動的にクリップボードにコピー
    出力されたテキストは自動的にクリップボードにコピーされます。これにより、他のアプリケーションにすぐにペースト可能です。

使用方法

このプログラムはPythonで書かれており、次のような簡単な手順で使用できます。

1 プログラムのダウンロード
Githubからプログラム(files_to_paste.py)というプログラムをダウンロードしてください。

ちなみにソースコードはこちらです。

import os
import sys
import pyperclip
import mimetypes

def generate_markdown(directory, extension):
    output = "# Source Code\n"
    base_path = os.path.abspath(directory)
    script_name = os.path.basename(__file__)
    
    if extension == 'all':
        extension = ''
    
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith(extension) and file != script_name:
                file_path = os.path.join(root, file)
                mime_type, _ = mimetypes.guess_type(file_path)
                
                if mime_type and mime_type.startswith('text'):
                    relative_path = os.path.relpath(file_path, base_path)
                    output += f"## {relative_path}\n"
                    
                    try:
                        with open(file_path, 'r', encoding='utf-8') as f:
                            content = f.read()
                            output += f"```\n{content}\n```\n\n"
                    except UnicodeDecodeError:
                        output += "```\nファイル読み込みエラー\n```\n\n"
    
    return output

def main():
    if len(sys.argv) != 3:
        print("使い方: python files_to_paste.py <ディレクトリ> <拡張子>")
        sys.exit(1)
    
    directory_path = sys.argv[1]
    extension = sys.argv[2]
    
    markdown_output = generate_markdown(directory_path, extension)
    pyperclip.copy(markdown_output)
    print("マークダウン出力がクリップボードにコピーされました。好きなところでペーストしてください。")

if __name__ == "__main__":
    main()

2 プログラムの配置
ダウンロードしたファイルをソースコードを取得したい箇所に移動します。

3 プログラムの実行
コマンドラインを開き、以下のコマンドを入力します。

python files_to_paste.py <対象ディレクトリ> <拡張子>

ここで<対象ディレクトリ>にはフォルダのパスを、<拡張子>には抽出したいファイルの拡張子を指定します。

4 生成AIのプロンプトでペースト
プログラムが出力したテキストはクリップボードにコピーされるので、直接他のアプリケーションにペーストして利用できます。

まとめ

このツールにより、特に大規模なプロジェクトでのソースコードの管理や生成AIを使用した作業が簡単になります。プログラミング初心者でも、このツールを活用して効率良く作業を進めることができますので、ぜひ一度試してみてください!

この記事が気に入ったらサポートをしてみませんか?