「TAB/半角空白 トグル変換」の版間の差分

MSY-07 (トーク | 投稿記録)
見出しの修正
MSY-07 (トーク | 投稿記録)
バージョンの表記を修正
1行目: 1行目:
実行するごとに「TAB ⇔ 半角空白」の相互変換をします。<br>
実行するごとに「TAB ⇔ 半角空白」の相互変換をします。<br>
* <span style="color:#0000c0;">'''選択範囲内のみ''' の「TAB ⇔ 半角空白」の相互変換も可。</span><br>
* <span style="color:#0000c0;">'''選択範囲内のみ''' の「TAB ⇔ 半角空白」の相互変換も可。</span><br>
* '''マルチカーソル/複数選択''' からの一括変換可 (Mery ver 3.0.1 以降)
* '''マルチカーソル/複数選択''' からの一括変換可 (Mery Ver 3.0.1 以降)
<br><br>
<br><br>
[編集] メニュー >> [選択範囲の変換] サブメニュー >> のコマンド「[[ヘルプ:編集#タブを空白に変換|タブを空白に変換]]」と「[[ヘルプ:編集#空白をタブに変換|空白をタブに変換]]」は...
[編集] メニュー >> [選択範囲の変換] サブメニュー >> のコマンド「[[ヘルプ:編集#タブを空白に変換|タブを空白に変換]]」と「[[ヘルプ:編集#空白をタブに変換|空白をタブに変換]]」は...
25行目: 25行目:


* '''<code>indentSize = 0</code>''' なら「タブの桁数」を Mery から自動取得します。
* '''<code>indentSize = 0</code>''' なら「タブの桁数」を Mery から自動取得します。
: Mery ver 3 以降では <code>Document.IndentSize</code> プロパティでの取得を試行します。 <code>Document.IndentSize</code> を取得できなかった場合や Mery ver 2.x では Mery.ini から「タブの桁数」を読みこみます。
: Mery Ver 3 以降では <code>Document.IndentSize</code> プロパティでの取得を試行します。 <code>Document.IndentSize</code> を取得できなかった場合や Mery Ver 2.x では Mery.ini から「タブの桁数」を読みこみます。
<br>
<br>


52行目: 52行目:
<br>
<br>
* このマクロの設定項目 <code>indentSize</code> の値と Mery の [オプション] の「タブの桁数」の設定値(または「[[プラグイン:EditorConfig|EditorConfig プラグイン]]」[https://www.haijin-boys.com/software/mery/mery-2-8-7] の <code>indent_size</code> の値)がことなると、「半角空白 ⇒ TAB」変換の可否判定や変換結果がうまくないかんじになる場合があります。
* このマクロの設定項目 <code>indentSize</code> の値と Mery の [オプション] の「タブの桁数」の設定値(または「[[プラグイン:EditorConfig|EditorConfig プラグイン]]」[https://www.haijin-boys.com/software/mery/mery-2-8-7] の <code>indent_size</code> の値)がことなると、「半角空白 ⇒ TAB」変換の可否判定や変換結果がうまくないかんじになる場合があります。
: EditorConfig で <code>indent_size</code> をカスタマイズしている場合、このマクロの設定は <syntaxhighlight lang="javascript" inline>var indentSize = 0</syntaxhighlight> にしてください(Mery ver 3.0.x 以降)。
: EditorConfig で <code>indent_size</code> をカスタマイズしている場合、このマクロの設定は <syntaxhighlight lang="javascript" inline>var indentSize = 0</syntaxhighlight> にしてください(Mery Ver 3.0.x 以降)。
: ※「[[プラグイン:EditorConfig|EditorConfig プラグイン]]」は ver 1.0.2 (2020/03/14) 以降の最新版を使用してください。
: ※「[[プラグイン:EditorConfig|EditorConfig プラグイン]]」は Ver 1.0.2 (2020/03/14) 以降の最新版を使用してください。


* <s>マルチカーソル/複数選択や</s> <span style="color:#c00;">矩形選択には非対応です。</span><br> 回避処理は入れていませんので、意図したとおりの結果にならなかったときは Undo (Ctrl+Z) してください。<br><span style="color:#0000c0;"> ⇒ マルチカーソル対応版を追加しました</span>が、矩形選択からの実行は考慮していないままです(2020/07/02)。
* <s>マルチカーソル/複数選択や</s> <span style="color:#c00;">矩形選択には非対応です。</span><br> 回避処理は入れていませんので、意図したとおりの結果にならなかったときは Undo (Ctrl+Z) してください。<br><span style="color:#0000c0;"> ⇒ マルチカーソル対応版を追加しました</span>が、矩形選択からの実行は考慮していないままです(2020/07/02)。
78行目: 78行目:


; 行全体の「TAB ⇔ 半角空白」変換
; 行全体の「TAB ⇔ 半角空白」変換
* 複数行選択の状態から「TAB ⇔ 半角空白」変換したときに、選択範囲内の行のブックマーク設定が維持されるかどうかは Mery 本体のバージョンによってことなります。<br> 最新のベータバージョン(2020/05/29 時点で [https://www.haijin-boys.com/software/mery/mery-3-0-0 ver 3.0.3])ではブックマーク設定が維持されますが、2020/05/29 時点での <q>正式版</q> ver 2.6.7 ではブックマーク設定がズレたり消えたりします。
* 複数行選択の状態から「TAB ⇔ 半角空白」変換したときに、選択範囲内の行のブックマーク設定が維持されるかどうかは Mery 本体のバージョンによってことなります。<br> 最新のベータバージョン(2020/05/29 時点で [https://www.haijin-boys.com/software/mery/mery-3-0-0 Ver 3.0.3])ではブックマーク設定が維持されますが、2020/05/29 時点での <q>正式版</q> Ver 2.6.7 ではブックマーク設定がズレたり消えたりします。
<br>
<br>


84行目: 84行目:
<br>
<br>
; 「[[ファイル:TAB/半角空白変換(マルチカーソル対応版).zip]]」(アイコン入り)
; 「[[ファイル:TAB/半角空白変換(マルチカーソル対応版).zip]]」(アイコン入り)
: ※ マルチカーソル対応版の動作要件:'''Mery ver 3.0.1''' 以上
: ※ マルチカーソル対応版の動作要件:'''Mery Ver 3.0.1''' 以上
<br>
<br>
; 「[[ファイル:TAB/半角空白変換.zip]]」(通常版 第2版:アイコン入り)
; 「[[ファイル:TAB/半角空白変換.zip]]」(通常版 第2版:アイコン入り)
: ※ Mery ver 2.x 用
: ※ Mery Ver 2.x 用
<br>
<br>
* TAB/半角空白変換.js
* TAB/半角空白変換.js
100行目: 100行目:


== ソースコード(マルチカーソル対応版) ==
== ソースコード(マルチカーソル対応版) ==
※ 動作要件:'''Mery ver 3.0.1''' 以上
※ 動作要件:'''Mery Ver 3.0.1''' 以上


<syntaxhighlight lang="javascript" style="height:100em; overflow:auto;">
<syntaxhighlight lang="javascript" style="height:100em; overflow:auto;">
114行目: 114行目:
  * キャレット位置または選択範囲内だけの「TAB ⇔ 半角空白」変換可
  * キャレット位置または選択範囲内だけの「TAB ⇔ 半角空白」変換可
  * 2020/05/29: うしろの非空白文字列の開始位置がズレないようコード改編
  * 2020/05/29: うしろの非空白文字列の開始位置がズレないようコード改編
  * 2020/07/02: マルチカーソル/複数選択に対応(要: Mery ver 3.0.1 以上)
  * 2020/07/02: マルチカーソル/複数選択に対応(要: Mery Ver 3.0.1 以上)
  * ※ 矩形選択からの実行を想定していません。
  * ※ 矩形選択からの実行を想定していません。
  *  
  *  
156行目: 156行目:
}
}
else if ( ! sMode ) {
else if ( ! sMode ) {
   Status = " このマクロは Mery ver 3.0.1 以降でしか使用できません。";
   Status = " このマクロは Mery Ver 3.0.1 以降でしか使用できません。";
}
}
else {
else {
387行目: 387行目:


== ソースコード(通常版) ==
== ソースコード(通常版) ==
※ Mery ver 2.x 用 (マルチカーソル非対応)
※ Mery Ver 2.x 用 (マルチカーソル非対応)


<syntaxhighlight lang="javascript" style="height:100em; overflow:auto;">
<syntaxhighlight lang="javascript" style="height:100em; overflow:auto;">
433行目: 433行目:
else {
else {
   if ( ! indentSize || ! ( indentSize > 0 ) ) {
   if ( ! indentSize || ! ( indentSize > 0 ) ) {
     // Mery ver 3 以降?
     // Mery Ver 3 以降?
     if ( "IndentSize" in Document ) {
     if ( "IndentSize" in Document ) {
       indentSize = d.IndentSize;
       indentSize = d.IndentSize;
スポンサーリンク