Aotm Snippets自定义自动展开代码块

原文链接

主要是编辑snippets.CSON文件,下面是一些实例代码:

'.text.html.erb':
  'if each do end':
    'prefix':'doe'
    'body':'
    <% ${1:condition}.each do |${2:value}| %>
    \n\t${3:comment}
    \n<% end %>
    '

  'if any end':
    'prefix':'ifany'
    'body':'
    <% if ${1:condition}.any? %>
    \n\t${3:comment}
    \n<% end %>
    '

自动展开代码如下

<% condition.each do |value| %> 
  comment 
<% end %>

<% if condition.any? %> 
  comment 
<% end %>
  1. 代码 '.text.html.erb' , 这个是 "scope" ,表示你添加的代码是在文件尾缀为 .erb 中使用。'.source.ruby' ,这个表示可以在文件尾缀为 .rb 中使用。如果你想添加到不同类型的文件中,就需要找到文件对应的scope。
  2. 如何找到 scope 呢?
  1. 用快捷键 ⌘, 呼出 settings:2. 在package 的搜索栏中查找 language ,找到你对应需要的如 java/html/ruby 等等;3. 可以在标题 java/html/ruby Grammar 下第一行找到文件对应的 scope 。特别注意当添加多个自定义展开代码的时候,只需要在这个 scope string 下追加。
  1. prefix 表示你需要用什么名字缩写,代替你自定义的展开代码。当你使用时候,你输入这个名字就能展开。
  2. \n 表示的是纯文本中默认并不显示的“scope”;
  3. \t 表示的是 tab(不是 tab 键,而是文本中显示的“缩进” —— 通常相当于两个空格,或者四个空格);
  4. $1 是展开后光标所在的位置;
  5. $2 是再次按 ⇥ 键的时候,光标应该所在的下一个位置。

下表是常见的scope:

语言名称 scope 文件类型
HTML text.html.basic ejs,htm,html,kit,shtml,tmpl,tpl,xhtml
CSS source.css css,css.erb
javascript source.js js,_js,es,es6,gs,htc,jscad,jslib,jsm,json5,jspre,pac,pjs,sjs,xsjs,xsjslib
python sourec.python cpy,gyp,gypi,kv,py,pyw,rpy,SConscript,SConstruct,sconstruct,Snakefile,tac,wsgi
json source.json avsc, babelrc, bowerrc, composer.lock, geojson, gltf, htmlhintrc, ipynb, jscsrc, jshintrc, jslintrc, json, jsonl, jsonld, languagebabel, ldj, ldjson, schema, stylintrc, template, tern-config, tern-project, tfstate, tfstate.backup, topojson, webapp, webmanifest
sql source.sql ddl, dml, dsql, hql, pgsql, psql, q, sql
git text.git-commit COMMIT_EDITMSG, MERGE_MSG
shell source.shell sh, bash, ksh, zsh, zsh-theme, zshenv, zlogin, zlogout, zprofile, zshrc, bashrc, bash_aliases, bash_profile, bash_login, profile, bash_logout, .textmate_init, npmrc, PKGBUILD, install, cygport, bats, ebuild

你可能感兴趣的:(Aotm Snippets自定义自动展开代码块)