スニペットが起動しないケース
Atomのスニペットは登録したprefixを認識して、起動します。prefixを途中まで打ち込んだ段階から候補をサジェストしてくれます。例えば、下のようなスニペットを登録したとします。
1 2 3 4 |
'.text.md': 'image': 'prefix': 'image' 'body': '![${1:TEXT}](<%= article_image_path( "${2:FILENAME}" ) %>)' |
prefixはimage
なので、下のようにi
と打ち込んだだけで、候補として表示されます。
ここで下のようにima
まで打ち込んだところで、tab
キーかenter
キーで確定するとします。通常はこれでスニペットが入力されるはずです。
ところが、登録したスニペットが登場するのではなく、下のようにimage
という文字列が入力されてしまいました。
これはどういうことでしょうか?
スポンサーリンク
直前の1字がスペースか改行でなければ発火しない
いろいろ試した結果、どうやら入力するprefixの直前の1文字が、スペースか改行でないと起動しないようです。上記の例ではima
の直前の文字が、
(読点)です。
単語間に必ずスペースが入る英語ではおそらくあまり発生しない問題なのでしょうが、日本語は特にスペースはないので、よくこのような事態が発生します。
ショートカットキーによる起動で対処
このように直前にスペースがない状態で発火させたい時はoption
+shift
+s
を押します。(Macの場合)
すると画像のようにモーダルが表示されます。そのテキストボックスにprefixを入力して候補で出たimage
が選択された状態でenter
を押せばスニペットがきちんと展開されます。