【要望】入力補完機能

  1. 入力したコードを保持して、テキストファイルに保存してくれる機能がほしいです!!(笑)

     |  haha  |  返信
  2. ええっと・・・w

    単語補完機能は入力した文字列から自動的に一覧を作ってくれるけど、
    その一覧をテキストとして保存したい、ということなのでしょうか・・・?

     |  Kuro  |  返信
  3. > ええっと・・・w
    >
    > 単語補完機能は入力した文字列から自動的に一覧を作ってくれるけど、
    > その一覧をテキストとして保存したい、ということなのでしょうか・・・?

    extフォルダ内のテキストファイル一覧テキストとして保存したいということです。

    保存条件
    言語選択をした場合は、その一覧テキストを保存する。
    同じ言語のテキストがあれば追加保存する。

    みたいな・・・w

     |  haha  |  返信
  4. > extフォルダ内のテキストファイル一覧テキストとして保存したいということです。
    ファイル一覧「を」テキストとして・・・なのでしょうか?
    それとも

    > 言語選択をした場合は、その一覧テキストを保存する。
    > 同じ言語のテキストがあれば追加保存する。
    Kuroさんが書いている自動的に生成された一覧を保存する、ただし今開いているファイルの拡張子に対応する入力補完ファイル(extフォルダ内のhsp.txtとか)に追記していく・・・ということでしょうか。
    前者であればものすごく簡単にできそうですが、後者だと無駄に補完ファイルが肥大しそうですね・・・w

    解釈が間違っていたらごめんなさい。無視していただいても結構です。

     |  miso  |  返信
  5. 後者であれば、

    自動生成された一覧は、ただ単純に文字列の区切り目で分割して単語を一覧として表示してるだけなので、
    正規表現「\b([a-zA-Z].+?)\b」こんなの?で検索して一覧を作成する程度であればマクロでいけそうな気がしますが・・・。

    解釈、違ってたらごめんなさい。。。

     |  Kuro  |  返信
  6. > > extフォルダ内のテキストファイル一覧テキストとして保存したいということです。
    > ファイル一覧「を」テキストとして・・・なのでしょうか?
    > それとも
    >
    > > 言語選択をした場合は、その一覧テキストを保存する。
    > > 同じ言語のテキストがあれば追加保存する。
    > Kuroさんが書いている自動的に生成された一覧を保存する、ただし今開いているファイルの拡張子に対応する入力補完ファイル(extフォルダ内のhsp.txtとか)に追記していく・・・ということでしょうか。
    > 前者であればものすごく簡単にできそうですが、後者だと無駄に補完ファイルが肥大しそうですね・・・w
    >
    > 解釈が間違っていたらごめんなさい。無視していただいても結構です。

    伝え方がわかないんですけど・・・w

    ボタンか何かでこれから入力するものをテキストファイルに改行付きで書き込み保存。

    例)
    入力値:MessageBox ("テスト");
    System.Consol.WriteLine ("テスト");

    テキストファイル内:MessageBox改行
               System改行
               Consol改行
               WriteLine改行

    みたいな漢字です。

    伝え方が下手ですみません…

     |  haha  |  返信
  7. だいぶ遅くなってしまいましたが、編集中の文書から単語一覧を作成するマクロを作ってみました。
    ちょっとhahaさんのご希望とは違うのかもしれませんが・・・。

    単語を抽出.js

    ---- ここから ----
    // 単語の区切りでぶった切って昇順に並べ替える
    var s1 = document.Text.split(/[^0-9A-Z_a-z]+?/).sort();
    var s2 = new Array();
    // 重複する単語と数字で始まる単語は除外する
    var r = new RegExp("^[0-9]+?", "i");
    for (var i = 0; i < s1.length; i++) {
    if (i == 0 || s1[i-1] != s1[i])
    if (!r.exec(s1[i]))
    s2.push(s1[i]);
    }
    editor.NewFile();
    // 大文字小文字を無視して昇順に並べ替える
    editor.ActiveDocument.Text = s2.sort(function(a, b) {
    var s1 = a.toLowerCase();
    var s2 = b.toLowerCase();
    return ((s1 < s2) ? -1 : ((s1 > s2) ? 1 : 0));
    }).join("\n");
    ---- ここまで ----

     |  Kuro  |  返信
  8. kuroさん、めちゃくちゃ嬉しいです。

    仕事でかなり使ってます。

    本当にありがとうございます。

     |  haha  |  返信
  9. お役に立てて良かったです!
    完全にご希望通りとは行きませんでしたが・・・。

    今後ともよろしくお願いします!

     |  Kuro  |  返信
スポンサーリンク