yasuraok / SimpleTextRefine

VSCode Extension for fast writing document using LLM
https://marketplace.visualstudio.com/items?itemName=yasuraok.simple-text-refine
MIT License
2 stars 1 forks source link

バックアップオプション + 通常表示オプション + 元ファイル追記オプション #14

Closed yasuraok closed 5 months ago

yasuraok commented 5 months ago

出力形式を3つに拡張

以下のプロンプトを入れるとバックアップがついて、diff表示ではなく通常表示になる。

- label: 要約
  description: |
    ユーザーから渡されるテキストについて、言及内容・特別な言い回しが分かる範囲で要約してください。
  output:
    type: normal

また、output.typeにappendを選択すると、元ファイルの選択範囲直後にLLMが追記するようになる。~LLMが記入中は人間が編集できないようにロックされる~挙動が怪しかったので、同時編集しても破綻しないように頑張って直した

- label: チャット
  description: ""
  output:
    type: append

さらに、output.typeにaskを選択すると、diff, normal, appendの3つから呼び出しの度に選択できるようになる

- label: 汎用的な対話
  description: |
    ユーザーが明示的に質問した場合はそれに答え、そうでない場合は入力の文脈に沿って続きの文章を返してください。
  output:
    type: ask

バックアップオプション

元々のLLM応答結果保存場所にタイムスタンプを付けて保存するというシンプルなものを実装。ただしappendの時は設定は無視されバックアップしない

- label: 添削
  description: |
    ユーザーから渡されるテキストについて、目上の人に見せられるように丁寧語・敬語に直してください。
  output:
    backup: true

workspace未設定のファイルの場合

output.type == append の場合、現在編集中のエディタに直接応答を書き込むので、workspace未選択でprompt pathやcache pathが定まらない場合でもシステムプロンプトなしでLLM呼び出しをすることが可能になる。 そこで、workspace未選択 (かつdefault prompt path未設定) の場合の挙動を改善する。

改善点

yasuraok commented 5 months ago

通常表示のファイルがLLM応答ファイルであることが分かりやすい何らかの仕掛け (あるか?

'workbench.action.files.setActiveEditorReadonlyInSession' で、readonlyにしてしまうという手はある。ただ、diff表示の方はLLM応答側も編集可能だし、統一感がない。

yasuraok commented 5 months ago

リリース前検証に回すために、devにマージしてpre-release vsix を作ってみる