メインコンテンツへスキップ

秀丸のブラウザ枠で左で編集・右でChatGPTを使う

概要

機能

    左半分を秀丸、右半分をChatGPTの画面にして秀丸を起動する 編集したプロンプトを自動保存できる(オプション)

    何がうれしいの?

      秀丸の常駐機能+ショートカットキーで秀丸+ChatGPTが爆速で起動する ChatGPTの入力フォームが小さくて編集がしにくい問題が解決し、秀丸の強力な編集機能を用いてプロンプトが書ける [オプション]プロンプトのファイルが自動保存され、使いまわしたいときにGREPで検索できる

      セットアップ手順

        秀丸のマクロフォルダにChatGPT.macを保存する(文字コードはShift-JIS or BOMありUTF-8 or BOMありUTF-16)

        TODO 

        使い方

          割り当てたショートカットキーを打つ。秀丸の常駐がONの状態なら場面を選ばずに使える

          コード

          ChatGPT.mac

          自動保存機能を使う場合は5行目のコメントアウト記号(「//」)を削除してください。

          //ChatGPT開始マクロ
          
          setcompatiblemode 0x0F;
          
          //execmacro("プロンプトDirに保存.mac");
          
          $uri = browserpaneurl(2);    //ブラウザ枠の状態確認
          if(leftstr($uri,24) == "https://chat.openai.com/"){
          	endmacro;
          }
          
          showwindow 3;                                   //ウインドウ最大化
          showbrowserpane 1 ,2;                           //個別ブラウザを表示
          setbrowserpanetarget "_each";                   //個別ブラウザをターゲットにする
          setbrowserpaneurl "https://chat.openai.com/";   //ChatGPTにアクセス
          setbrowserpanesize 2000, 2;                     //横幅を2000に設定
          browserpanecommand("right");                    //右に配置
          
          config "xAutoAdjustOrikaeshi:1"          //ウインドウ幅で文字を折り返す
          プロンプトDirに保存.mac

          自動保存を使用しない場合は不要です。

          2行目の二重引用符の中にファイルを保存したいフォルダを入れてください
          ①二重引用符の前のアットマークは消さない
          ②末尾の「¥(バックスラッシュ)」は消さない

          //#プロンプトディレクトリに保存
          $path =  @"path\to\prompt\"; //ここを自分の環境に合わせて編集する
          
          if($filename != ""){
          	endmacro;
          }
          $prefix = "pr";
          $yyyymmdd = year + month +day;
          $ext = ".txt";
          
          $filename = $prefix + $yyyymmdd + $ext;
          $absFileName = $path + $filename;
          
          #ret = existfile($absFileName);
          
          if(!existfile($absFileName)){
          	#i = 1;
          	while( #i < 100 ) {
          		$suffix = sprintf("_%02d", #i);
          		$absFileName = $path + $prefix + $yyyymmdd + $suffix + $ext;
          		if(!existfile($absFileName)){
          			disableerrormsg;
          			saveas $absFileName, utf8 ;
          			enableerrormsg;
          			endmacro;
          		}
          		#i = #i+1;
          	}
          	message("indexが99を超えました");
          	endmacro;
          }