snippet 是一种强大到令人难以置信的代码生成方式,它可以通过快捷方式快速生成常用代码。
1. Atom 语言包提供的代码段
许多 Core 包和 Community 包都捆绑了它们自带的代码段,这些代码段只能用于它们自身。例如,language-html
包就为 HTML 语法高亮和语法提供了支持,并且带有很多代码段;类似的还有:language-java
、language-javascript
、language-php
等语言包。
2. 自定义的代码段
(1)通过 File > Snippets
菜单,打开snippets.cson
文件。修改之后,只要保存了文件,Atom 就会重新加载这个文件,就可以立即使用了。
(2)自定义代码段的基本格式(有趣的是,你可以使用snip
快速生成代码段模板)
'.source.js':
'console.log':
'prefix': 'log'
'body': 'console.log(${1:"crash"});$2'
① 最左边的键是选择器,表明这些代码段在哪些文件中才能生效。要想知道这个键的值,最简单的方法就是:进入代码段语言所对应的语言包中,查看 Scope
字符串。(注意:键值就是 .
+ Scope
)
② 下一层的键是代码段名称,用于在代码段菜单中以一种更加易读的方式描述代码段。你可以自由命名。
③ 代码段名称之后,便是 可以出发代码段的 prefix
和 当代码段被触发时将要插入的代码 body
④ 每一个带有数字的 $
就是一个 tab
键驻留位置。只要代码段被触发,便可以通过 Tab
键遍历这些 tab
驻留位置
- 具有相同数字的
tab
驻留位置 将会创建多个光标- 上面例子中的
crash
字符串会在开始时被选中
另外,可以使用 CoffeeScript 多行语法的 """
来创建长模板。
'.text.html.basic':
'html':
'prefix': 'html'
'body': """
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
<meta name="renderer" content="webkit">
<title>${1:title}</title>
<link rel="stylesheet" href="/css/master.css" media="screen" title="no title" charset="utf-8">
<style media="screen" >
</style>
<script src="" charset="utf-8"></script>
<script>
</script>
</head>
<body>
$2
</body>
</html>
"""