- 1. 概要
- 2. 現象
- 3. 設定
- 4. 参考サイト
1. 概要
表題は、少し言葉足らずでありましてな。
自前のスニペットを使っているのですが、パラメータ入力後に、続けて、TAB キーを入力したとき。
タブを入力したいのですが、カーソルが行末へ飛んじゃうのです。
これをなんとかしたいな・・・と。
2. 現象
本サイトの本ページの目次は。
例えば、下記のように記述しています。
<dl class="bodycontents">
<a href="#1."><dt>1. 概要 </dt></a>
<a href="#2."><dt>2. 現象 </dt></a>
<a href="#3."><dt>3. 設定 </dt></a>
<a href="#4."><dt>4. 参考サイト </dt></a>
</dl>
項目が増える際は、下記のスニペットを使用して、入力しています。
"href": { "prefix": [ "href" ], "body": [ "<a href=\"#$1.\"><dt>$1. $2</dt></a>" ] },
入力の手順はというと。
「href」と入力すれば、候補が表示されるので、TAB 入力すると、下記が表示され、「#.」の後ろにカーソルが表示されます。
<a href="#."><dt>. </dt></a>
ここで、数字を入力して、TAB を入力すると。
<a href="#5."><dt>5. </dt></a>
「</dt>」の直前に移動するので、表題を入力します。
そのまま TAB を入力して、表題の後ろに、タブを入力したいのですが・・・。
行末へ移動しちゃうってことです。
「ChatGPT」くんに問い合わせてみましたらば、「Visual Studio Code」のスニペットには、暗黙の「$0」というのが、存在して。
それは、行末を示すらしいのです。
これを仕様通りに動作させると、現象の動きになるそうです。
3. 設定
対策としましては、明示的に「$0」を記述するのでありまして。
"href": { "prefix": [ "href" ], "body": [ "<a href=\"#$1.\"><dt>$1. $2$0</dt></a>" ] },
と書きます。
これで、「$2」入力後も、カーソルは行末へ移動したりしません。
実際にタブ入力を反映させるには、もう一度 TAB を入力する必要がありますが、行末へ移動しちゃうよりは、ましになります。
4. 参考サイト
本ページは、「ChatGPT」くんを参考にさせていただきました。
|
|