Atom飞行手册翻译: 3.1 ~ 3.2

简介: 现在是时候来介绍在这一Hackable的编辑器中,真正“Hackable”的部分了。像我们在整个第二章中看到的那样,Atom中很大一部分都由一大堆包组成。

现在是时候来介绍在这一Hackable的编辑器中,真正“Hackable”的部分了。像我们在整个第二章中看到的那样,Atom中很大一部分都由一大堆包组成。如果你想向Atom中添加一些功能,你必须要访问和Atom核心特性相同的API和工具。从树视图、命令面板到查找替换功能,甚至Atom的绝大多数核心特性都是以包的形式实现的。

所需工具

最开始,我们假设在某种程度上,你只知道很少的事情。由于Atom完全采用web技术实现,我们必须假设你知道CoffeeScript和Less的任何事情,它们是Javascript和CSS的预处理器。

如果你不了解CoffeeScript,但是熟悉JavaScript,就应该没有太大问题。下面是一个CoffeeScript的简单示例:

MyPackageView = require './my-package-view'

module.exports =
  myPackageView: null

  activate: (state) ->
    @myPackageView = new MyPackageView(state.myPackageViewState)

  deactivate: ->
    @myPackageView.destroy()

  serialize: ->
    myPackageViewState: @myPackageView.serialize()

我们会展示一些这样的例子,而这就是这门语言的样子。

在Atom中,你能用CoffeeScript做的任何事情都可以用JavaScript来做,但是由于大多数社区都用CoffeeScript,你可能会想用它来编写你的包。这会有助于你从开源社区中获取代码,并且在许多实例中编写更简单的代码。

你可以在coffeescript.org上面复习CoffeeScript。

Less是源于CSS的简化转换,它向CSS中添加了一些有用的东西,比如变量和函数。你可以在lesscss.org上面复习Less的技巧。但是我们对Less的使用并不涉及到这本书中太复杂的部分,所以你只要懂得CSS的基本知识就够了。

初始文件

当Atom完成加载之后,它会运行你~/.atom目录中的init.coffee文件,给你一个机会来运行CoffeeScript代码来执行自定义。这个文件中的代码可以充分访问到Atom API。如果自定义的代码变得很大,考虑创建一个包,这部分会在“字数统计包”一节中介绍。

你可以在编辑器中从Atom > Open Your Init Script菜单打开init.coffee文件。这个文件也可以命名为init.js来包含JavaScript代码。

例如,如果你在设置中开启了蜂鸣提示音,你可以将以下代码添加到init.coffee,让Atom在每次加载时用蜂鸣提示音向你打招呼。

atom.beep()

由于init.coffee可以访问到Atom API,你可以使用它来实现有用处的命令,而不需要创建新的或者扩展现有的包。下面是一个使用了选择APi和剪贴板API的命令,它从被选中的文本和剪贴板内容中构建Markdown连接作为URL:

atom.commands.add 'atom-text-editor', 'markdown:paste-as-link', ->
  return unless editor = atom.workspace.getActiveTextEditor()

  selection = editor.getLastSelection()
  clipboardText = atom.clipboard.read()

  selection.insertText("[#{selection.getText()}](#{clipboardText})")

现在,重新加载Atom,并使用命令面板通过名字执行新的命令(例如“Markdown: Paste As Link”)。而且,如果你喜欢通过快捷键来触发这个命令,你可以为命令定义一个键表(keymap)。

相关文章
|
前端开发 JavaScript
Atom飞行手册翻译: 4.2 深入键表(keymap)
深入键表(keymap) 键表文件是以JSON或者CSON编码的文件,其中含有嵌套的哈希表。它们的工作方式像是样式表,但是它们指定匹配选择器的元素的快捷键的作用,而不是应用样式属性。
1090 0
|
API 开发工具 git
Atom飞行手册翻译: 4.5 ~ 4.8
开发Node模块 Atom中的一些包是Node模块,而不是Atom的包。如果你想要修改这些Node模块,例如atom-keymap,你需要把它们链接到不同于普通Atom包的开发环境中。
1011 0
Atom飞行手册翻译: 2.14 小结
小结 到目前为止,你应该是一个Atom高级用户了。你应该能够像一个行家那样浏览和处理文本和文件。你也应该能够从里到外定制Atom,来让它看起来和表现得和你想象中一样。
744 0
Atom飞行手册翻译: 1.3 Atom基础
Atom基础 既然Atom在你的系统中已经安装了,让我们启动、配置并且熟悉这一编辑器吧。 当你首次启动Atom时,你会看到这样一个界面: 这是Atom的欢迎界面,它会给你一些很好的建议,关于如何开始使用这个编辑器。
1211 0
|
安全 开发者
Atom飞行手册翻译: 3.7 调试
调试 Atom拱了一些工具来帮助你理解预料之外的行为和调试问题。这篇指南介绍了一些工具和方法用于帮助你调试,以及提供了一些提交工单(issue)时的帮助信息。
1154 0
Atom飞行手册翻译: 2.7 ~ 2.10
自动补全 如果你仍旧希望节约一些打字时间,Atom自带简单的自动补全功能。 通过使用ctrl-space,自动补全工具可以让你看到并插入可选的完整单词。
993 0
|
前端开发 开发者
Atom飞行手册翻译: 2.13 基本的自定义
基本的自定义 在我们感受到Atom中所有东西的便利之后,让我们看看如何改进它。可能有一些快捷键你经常使用但是感觉很别扭,或者一些颜色不是十分适合你。
1166 0
|
Web App开发
Atom飞行手册翻译: 2.12 在Atom中写作
在Atom中写作 虽然Atom通常可能用来编写软件的代码,但是它还可以用来高效地编写文章。这通常采用一些标记语言,比如说Markdown和Asciidoc(也就是英文手册所用的格式)来完成。
1151 0
Atom飞行手册翻译: 1.4 小结
小结 你应该对Atom是什么,以及你想使用Atom做什么有了基础的了解。你也应该把它保留在你的系统中,并使用它完成更多基本的文本编辑操作。
858 0
|
前端开发
Atom飞行手册翻译: 3.9 从Textmate中转换
从Textmate中转换 可能在Textmate中有你喜欢或者使用过的主题和语法,并且你想要把它们转换到Atom中。如果是这样的话,你很幸运,因为有很多工具可以用来转换它们。
1109 0

热门文章

最新文章