1 件の投稿を表示中 (合計 8 個)
  • 作成者
    投稿
  • #7332
    Yutaka Emura
    キーマスター

    EmEditor Professional 9.00 alpha 9 を 公開します。v9.00 alpha 8 からの主な変更点は次の通りです。

    – スニペット プラグインの保存先を、従来のレジストリから、ディスクに変更されました。レジストリ利用時は、Vista の場合、通常 Users…AppDataRoamingEmurasoftEmEditor に、INI 使用時は、PlugIns フォルダに保存されます。

    – スニペット プラグインのシンボルを から $ に変更しました。既に保存されているスニペットは自動的に変換されます。

    – `! …` または `!# … ` と記述することにより、シェルコードとマクロの中で、パラメータを展開しなくなりました。! がない場合は、パラメータを展開します。

    – TextMate 用スニペット ファイル (*.plist, *.tmSnippet) もインポートできるようになりました。インポート時、複数のファイルを一度に選択できるようになりました。

    – エクスプローラからスニペット ファイルを選択して、スニペット プラグインのツリーにドラッグ & ドロップでインポートできるようになりました。

    – [このフォルダにインポート] コマンドが追加されました。

    – クリップボード関係の不具合の修正。

    新しいスニペット プラグインの説明ビデオ:
    http://jp.emeditor.com/modules/tutorials4/index.php?id=19

    ダウンロード:
    http://www.emeditor.com/pub/emed900a9jpx.msi (日本語, 32-bit)
    http://www.emeditor.com/pub/emed900a9jp64.msi (日本語, 64-bit)

    ポータブル版は、EmEditor インストーラを使ってインストールした後、ツール メニューのインポートとエクスポート ウィザードからも作成することができます。ただし動作速度はレジストリ使用時より遅くなります。

    本バージョンは、alpha 版です。仕様は今後変更される可能性があります。また、不具合が残っている可能性が充分にありますのでご注意ください。

    何かご意見がありましたら、ご連絡ください。よろしくお願いします。

    ————————————————
    以下はヘルプのドラフトです。

    スニペットの構文

    単純テキスト

    文書に挿入する任意のテキストを含めることができます。単純テキストを書くには、ほとんどの文字を使用することができますが、、$、` を含めたい場合は、、$、` というようにエスケープする必要があります。

    プレイスホルダー

    スニペットを挿入した後、カーソル位置は最初のプレイスホルダー位置に移動します。さらに TAB キーを押すと、次のプレイスホルダーにジャンプします。

    これらのタブ ストップは ${n:default} のように定義することができます。ここで、default はスニペットを挿入したときに最初に表示される既定値です。既定値が存在しない場合、 {} を省略して $n のようにタブ ストップを記述することができます (n は 0 から 9 までの整数値)。ユーザーがスニペットを挿入すると、最初のカーソル位置は $1 の位置になります。TAB キーを押すと、タブ ストップは次のプレイスホルダー $2、さらに $3 というようにジャンプします。

    たとえば、次のスニペットは HTML にハイパーリンクを挿入し、最初のカーソル位置を $1 にします。カーソルが $1 にあるときに、ユーザーが TAB キーを押すと、カーソルは $2 にジャンプします。そして $0 にジャンプします。

    $0

    スニペットには既定値を含めることができます。次のスニペットは、ハイパーリンクを既定値で挿入します。

    $0

    プレイスホルダーの中にプレイスホルダーを含めることができます。次のスニペットは、target パラメータが選択された状態でハイパーリンク タグを挿入します。ユーザーは引数を上書きするか、削除するか、または TAB キーを押して次のプレイスホルダーに移動するかを決めることができます。

    $0

    ミラー

    同じプレイスホルダーのインデックスを使用すると、これらのプレイスホルダーの値はすべて同じ、つまりミラーになります。次のスニペットは「for」ループを挿入します。この場合、変数 i がプレイスホルダー $2 の既定値で、同じインデックスのプレイスホルダーが他の 2 箇所で使用されています。カーソルが ${2:i} の位置にある間に、i の値を変更すると、その変更が他の場所にもミラーされます。

    for( ${1:int} ${2:i} = ${3:0}; $2 != ${4:10}; $2++ ){
    $0
    }

    変換

    あるプレイスホルダーの値を別のプレイスホルダーに、正規表現と置換フォーマットを使用して、変換することができます。構文は ${n/regexp/replace_format/option} となります。ここで、

    n: プレイスホルダーのインデックス
    regexp: 検索する正規表現
    replace_format: 置換フォーマット
    option: 現在のところ i (大文字小文字を区別する) のみサポート

    次の例は、最初の行に入力された文字を 2 行目にコピーします。ただし、最初の文字だけ大文字に変換します。

    $1
    ${1/./U/}

    パラメータ

    ${CurLine} カーソル位置の論理行番号。
    ${Date} 今日の日付。
    ${DefColor} 最近選択された色の RGB 値。
    ${Dir} ファイルのディレクトリ名。
    ${Ext} ファイルの拡張子。
    ${Filename} 拡張子を除くファイル名。
    ${Path} ファイルの完全パス名。
    ${PickColor} 選択された色の RGB 値。
    ${PickFullPath,title,filter} 選択されたファイルの完全パス名。title はダイアログ ボックスのタイトルを、filter は、次のフォーマットのフィルタを示します。: テキスト ファイル|*.txt|すべてのファイル|*.*||
    ${PickRelativePath,title,filter} 選択されたファイルの相対パス名。title はダイアログ ボックスのタイトルを、filter は、次のフォーマットのフィルタを示します。: テキスト ファイル|*.txt|すべてのファイル|*.*||
    ${SelText} 選択されたテキスト。
    ${Time} 現在の時刻。

    ${x} のフォーマットなら、どのパラメータでも使用できます。すると、ダイアログ ボックスが表示され、値の入力を促されます。

    シェル コード

    `shell_code` の形式で、コマンド プロンプト (cmd.exe) にシェル コードを渡すことができます。指定する値は、cmd.exe に “%COMSPEC% /c shell_code” 形式で渡されます。シェル コードからの標準出力、および標準エラーは、テキスト文書のカーソル位置にリダイレクトされます。たとえば、次のスニペットは現在のフォルダの一覧を挿入します。現在のところ、各スニペットに含めることができるシェルコードは 1 個だけです。

    `DIR`

    マクロ

    `# ` の形式で、マクロをスニペットに含めることができます。最初の文字 # は、これがシェル コードではなく、マクロであることを示します。これは JavaScript でなく VBScript、PerlScript、PHPScript、RubyScript などの ActiveScript の場合は、”#language=” を使用して使用する言語を定義する必要があります。たとえば、VBScript を使用したい場合は、`#language=”VBScript” …` と記述します。Interface オブジェクトを使用して、スニペットと EmEditor マクロ エンジンの間で値を渡すことができます。次の例は、クリップボードの内容をカーソル位置に挿入します。現在のところ、各スニペットに含めることができるマクロは 1 個だけです。

    `# Interface.write( clipboardData.getData(“”) );`

    Interface.write() メソッドは、マクロの結果をスニペットに渡します。また、Interface.writeln() を使用して、結果の最後に改行復帰 (CR+LF) を追加することができます。

    既定値、シェル コード、マクロ内のパラメータ

    プレイスホルダー既定値は、パラメータ、シェル コードまたはマクロを含めることができます。次のスニペットは、選択範囲が存在する場合、選択されたテキストを

    の間に入れて

    タグを挿入します。

    ${0:${SelText}}

    シェル コードとマクロは、そのコードとマクロの中にパラメータを含めることができます。次のスニペットは、継続するために、${Your Name} パラメータに値を入力するダイアログ ボックスを表示します。

    `# var s = “${Your Name}”;
    for( var i = 0; i != 5; i++ ){
    Interface.writeln( s );
    }
    `

    すべての と ` の前に をがあることに注意する必要があります。たとえば、次のスニペットは、”C:Program FilesEmEditor” を挿入します。

    `# Interface.writeln( “C:\Program Files\EmEditor” ); `

    この理由は、バックスラッシュ () は と書く必要があり、さらに JavaScript も を に変換します。結果として、 は 4 個のバックスラッシュ (\) に変換します。

    を変換したくなく、シェル コードやマクロにパラメータを含める必要がない場合、コードの最初に ! を含めることができます。つまり、シェル コードでは `! … ` と記述し、マクロでは `!#…` と記述します。したがって、前の例は次のように書き換えることができます。

    `!# Interface.writeln( “C:Program FilesEmEditor” ); `

    #7336
    kshi
    参加者

    開発お疲れ様です。

    clipboardData.clearData(“Text”,0) で
    正常に履歴が繰り上がるようになりました!!

    ■ LineTextについて
    LineTextの扱いですが、
    「選択せずに Ctrl+C でコピーすると、
    カーソル位置の論理行を LineTextとして保存する」
    という理解でよいでしょうか。

    Ctrl+F8で論理行選択してコピーした場合も
    LineTextになるのかと思いましたが、ちがうようですね。
    私は現在の仕様でしっくりきます。

    ■ ウィンドウごとのクリップボードについて
    クリップボード履歴を積み重ねたあと、
    ウィンドウ(グループ)を2つに分割すると、
    どちらか一方で履歴がなくなるようです。

    #7337
    Yutaka Emura
    キーマスター

    kshiさんは書きました:
    開発お疲れ様です。

    clipboardData.clearData(“Text”,0) で
    正常に履歴が繰り上がるようになりました!!

    ■ LineTextについて
    LineTextの扱いですが、
    「選択せずに Ctrl+C でコピーすると、
    カーソル位置の論理行を LineTextとして保存する」
    という理解でよいでしょうか。

    Ctrl+F8で論理行選択してコピーした場合も
    LineTextになるのかと思いましたが、ちがうようですね。
    私は現在の仕様でしっくりきます。

    ■ ウィンドウごとのクリップボードについて
    クリップボード履歴を積み重ねたあと、
    ウィンドウ(グループ)を2つに分割すると、
    どちらか一方で履歴がなくなるようです。

    選択せずに Ctrl+C でコピーした場合は、LineTextとして保存するということで正しいです。

    Ctrl+F8で行選択の場合は、表示行で選択することもできるため、LineText にはならないです。

    ご報告、ご意見ありがとうございました。

    #7356
    mayuta1002
    参加者

    開発お疲れ様です。

    9.00 alpha 9において、
    スニペットプラグイン(サイドバー)を×ボタンで、
    閉じようとすると、エラーが発生します。

    ——————————————————-
    プラグインでアプリケーション エラーが発生しました。
    プラグイン:Snippets.dll
    関数:OnEvents
    nEvent = 0x800000
    ——————————————————-

    alpha 8までは発生しなかったように思います。
    調査をお願いします。
    環境はXP Pro SP3です。

    #7359
    kshi
    参加者

    開発お疲れ様です。

    検索/置換ドロップダウンリスト用のフォントを
    文書のフォントに合わせていた場合、
    入力ボックスを複数行に拡張すると、
    フォントがシステム既定になるようです。
    1行に戻すと、文書のフォントに戻ります。

    ご確認をお願いいたします。

    #7368
    Yutaka Emura
    キーマスター

    kshiさんは書きました:
    開発お疲れ様です。

    検索/置換ドロップダウンリスト用のフォントを
    文書のフォントに合わせていた場合、
    入力ボックスを複数行に拡張すると、
    フォントがシステム既定になるようです。
    1行に戻すと、文書のフォントに戻ります。

    ご確認をお願いいたします。

    alpha 10 で修正しました。ありがとうございます。

    #7369
    Yutaka Emura
    キーマスター

    mayu1002さんは書きました:
    開発お疲れ様です。

    9.00 alpha 9において、
    スニペットプラグイン(サイドバー)を×ボタンで、
    閉じようとすると、エラーが発生します。

    ——————————————————-
    プラグインでアプリケーション エラーが発生しました。
    プラグイン:Snippets.dll
    関数:OnEvents
    nEvent = 0x800000
    ——————————————————-

    alpha 8までは発生しなかったように思います。
    調査をお願いします。
    環境はXP Pro SP3です。

    こちらでは再現しなかったのですが、まだ alpha 版なので、そのような不具合が残っている可能性はあります。 alpha 10 でも再現しますでしょうか?

    #7371
    mayuta1002
    参加者

    開発お疲れ様です。

    とりあえず、alpha 10にアップデートすることで、
    現象は出なくなりました。
    また何かあったら報告させて頂きます。

1 件の投稿を表示中 (合計 8 個)
  • このトピックに返信するにはログインしてください。