LoginSignup
13
13

More than 5 years have passed since last update.

Atomのパッケージにスニペット機能を追加する方法

Last updated at Posted at 2015-04-29

パッケージ新規作成で作成したAtomパッケージにスニペット機能を追加する

新規作成されたパッケージの構成

Generate Packageで生成されたパッケージの雛形の構成は下記のようになっています。このままではスニペット用のフォルダは存在していません。ちなみにこれらのフォルダやファイルはそれぞれざっくり言うと下記の様な役割を持っています。

この他にスニペットを登録可能なsnippetsや文法を定義してシンタックスハイライト可能なgrammarsが追加可能です。

test-package
├── CHANGELOG.md        -- チェンジログ
├── LICENSE.md          -- ライセンス
├── README.md                -- 説明書
├── keymaps/                 -- パッッケージのキーマップ
├── lib/                     -- その他多くの機能
├── menus/                   -- メニュー表示系
├── package.json             -- パッケージの情報
├── spec/                    -- パッケージのテスト
└── styles/                  -- パッケージのスタイルシート

スニペットの作成

スニペットについて書いているファイルはsnippets内に置く必要があるのでフォルダを作りその中にjsonまたはcson形式でスニペットを書いていきます。
今回はcsonでやってみたいと思うのでfoo.csonを作成したsnippets内に作ります。

test-package
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── keymaps
├── lib
├── menus
├── package.json
├── snippets                     -- 各自作成する
│   └──foo.cson もしくは foo.json   -- ここに色々書く
├── spec
└── styles

作成したfoo.csonには以下のように登録したいスニペットを書いていきます。今回は3種類のスニペットを登録します。

foo.cson
'.source.gfm':
  'foo' :
    'prefix' : 'bar'
    'body' : 'baz'
  'link url' :
    'prefix' : 'url'
    'body' : '[${1: title}](${2: URL})'
  'code box' :
    'prefix' : 'code'
    'body' : """
      ```
      ${1: code}
      ```
    """

.source.gfmはスニペットを有効にするセレクタを指定していて今回はMarkdownを指定しています。

fooはスニペット名を意味していてbarはスニペットを展開する時に使用するキー、bazは展開される本文を意味しています。

スニペット本文内に${1: tittle}${2: URL}と埋め込むことでtabによるカーソル移動の順番も設定できます。

スニペット本文は複数行展開にも対応していて本文を"""で囲むことにより展開可能になります。

Atomを再起動すればこれらのスニペットが有効になっていると思います、手軽に実装できるので是非試してみてください。

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13