资讯专栏INFORMATION COLUMN

Atom飞行手册翻译: 2.13 基本的自定义

opengps / 1463人阅读

摘要:基本的自定义在我们感受到中所有东西的便利之后,让我们看看如何改进它。不像的选择器,的键在每个对象中只能重复一次。语言特定的设置会覆盖全局域的任何设置。作于域的名称显示在设置视图中的每个语言的包中。

基本的自定义

在我们感受到Atom中所有东西的便利之后,让我们看看如何改进它。可能有一些快捷键你经常使用但是感觉很别扭,或者一些颜色不是十分适合你。Atom具有惊人的灵活性,所以让我们对它做一些力所能及的简单调整。

使用CSON来配置

所有Atom的配置文件(除了你的样式表和初始脚本)全部用CSON编写,全称是CoffeeScript Object Notation。就像JSON(JavaScript Object Notation)的名字一样,CSON是一个储存结构化数据的文本格式,表现为由键值对组成的简单对象的形式。

key:
  key: value
  key: value
  key: [value, value]

对象是CSON的基石,由缩进(像上面的文件那样)或者花括号({})描述。一个键的值可以是字符串、数字、对象、布尔值、null或者上述数据类型的一个数组。

不像CSS的选择器,CSON的键在每个对象中只能重复一次。如果存在重复的键,最后一次出现的那个会覆盖其他所有同名的键。在Atom配置文件中也是如此。

避免这种情况:

# DON"T DO THIS
".source.js":
  "console.log":
    "prefix": "log"
    "body": "console.log(${1:"crash"});$2"

# Only this snippet will be loaded
".source.js":
  "console.error":
    "prefix": "error"
    "body": "console.error(${1:"crash"});$2"

而是要写成这样:

# DO THIS: Both of these will be loaded
".source.js":
  "console.log":
    "prefix": "log"
    "body": "console.log(${1:"crash"});$2"
  "console.error":
    "prefix": "error"
    "body": "console.error(${1:"crash"});$2"
样式调整

如果你只是对个人样式做一些应急的修改,而不打算发布整个主题,你可以在你的~/.atom目录的styles.less文件中添加样式。

你可以在编辑器中从Atom > Open Your Stylesheet菜单打开这个文件。

例如,要修改光标的颜色,你可以将一下规则添加到你的~/.atom/styles.less文件中:

atom-text-editor::shadow .cursor {
  border-color: pink;
}

了解都有哪些class可用的最简单方式,是通过开发者工具手动查看DOM。我们将在下一章详细介绍这个工具,现在先简单来看一下。

你可以通过按下alt-cmd-I来打开开发者工具,然后会弹出一个Chrome开发者工具面板。

你可以轻易查看到当前编辑器的所有元素。如果你想更新一些东西的样式,你需要先知道它拥有哪个class,然后再你的样式文件中添加一条Less规则。

如果你不熟悉Less,它是一个让CSS变得更简单的CSS预处理器,你可以访问lesscss.org来了解关于它的更多信息。如果你更愿意使用CSS,这个文件也可以命名为styles.css来包含CSS。

自定义快捷键

Atom从你~/.atom目录中的config.cson文件中加载配置,它含有CoffeeScript格式的JSON,也就是CSON:

"core":
  "excludeVcsIgnoredPaths": true
"editor":
  "fontSize": 18

配置本身以包名分组,或者一两个核心的命名空间,比如coreeditor

你可以从Atom > Open Your Config菜单在编辑器中打开它。

快捷键配置参考

core

disabledPackages:被禁用的包名的一个列表

excludeVcsIgnoredPaths:不要加载.gitignore指定的文件

ignoredNames:在Atom中要忽略的文件名

projectHome:假定项目被存放的目录

themes:要加载的主题名称的数组,按照层叠顺序

editor

autoIndent:开启或关闭基本的自动缩进(默认为true)

nonWordCharacters:一个非单词字符的字符串,来指定单词边界

fontSize:编辑器中的字体大小

fontFamily: 编辑器中的字体类型

invisibles: 一个Atom用来渲染空白字符的哈希表。键是空白字符的类型,值是被渲染成的字符(使用false来屏蔽单个的空白字符)

tab:硬tab字符

cr:回车(Carriage return,微软风格的行末尾)

eol:字符 `

space:在开头或末尾的空格字符

preferredLineLength:设定一行的长度(默认为80)

showInvisibles:是否将不可见字符渲染为占位符(默认为false)

showIndentGuide:是否在编辑器中显示缩进标识

showLineNumbers:显示或者隐藏行号

softWrap:开启或关闭编辑器中的软换行

softWrapAtPreferredLineLength: 开启或关闭在preferredLineLength处软换行

tabLength:tab字符所占空格字符的宽度(默认为2)

fuzzyFinder

ignoredNames:只在模糊查找中忽略的文件名

whitespace

ensureSingleTrailingNewline:是否将文件末尾的多个换行减少为一个

removeTrailingWhitespace:开启或关闭清除行尾的空白字符(默认为true)

wrap-guide

columns:带有patterncolumn键的数组,用来将当前编辑器的目录匹配到列中的位置

语言特定配置

你也可以为不同的文件类型设置几种不同的配置。例如,你可能希望Atom在Markdown文件中软换行,在ruby文件中将tab显示为两个空格的宽度,在python文件中显示为4个空格的宽度。

下面是作用于语言的几种选项,这是它们的列表:

editor.tabLength
editor.softWrap
editor.softWrapAtPreferredLineLength
editor.preferredLineLength
editor.scrollPastEnd
editor.showInvisibles
editor.showIndentGuide
editor.nonWordCharacters
editor.invisibles
editor.autoIndent
editor.normalizeIndentOnPaste
设置视图中的语言特定配置

你可以在设置视图中的每个语言的包中,编辑这些配置。只要在左边的面板搜索你选择的语言,选择它,并且编辑它就好了。

配置文件中的语言特定配置

你也可以直接编辑实际的配置文件。通过在命令面板中输入“open config”并按下回车来打开配置文件。

全局设置在global键的下面。每种语言都有他们自己的顶级键,这个键就是这种语言的作用域。语言特定的设置会覆盖全局域的任何设置。

"global": # all languages unless overridden
  "editor":
    "softWrap": false
    "tabLength": 8

".source.gfm": # markdown overrides
  "editor":
    "softWrap": true

".source.ruby": # ruby overrides
  "editor":
    "tabLength": 2

".source.python": # python overrides
  "editor":
    "tabLength": 4
查找语言作用域的名字

为了有效地编写这种覆盖的设置,你需要知道语言的作用域名称。我们已经在“代码段格式”一节中,为了编写代码段而做过一遍了,现在我们简单地重复一下。

作于域的名称显示在设置视图中的每个语言的包中。在左边的面板中寻找你选择的语言,选择它,然后你会在语言名称的标题下面看到作用域名称:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/111099.html

相关文章

  • 开始开发atom插件(并无系列)

    摘要:注意本文目的不在开发一个什么什么插件,只告诉你如何进行开发注下文并无太多代码,代码建议到你新建一个模版插件然后你就拥有了所有的代码,然后根据下文加深自己的理解,相信你会看懂它。开始开发入口文件有个方法释放资源的方法不要做其他事情。 atom高级用法???除了自定义功能基本没啥好玩,抱着装逼的想法,搜了一波atom插件入门,发现说得太迷糊(可能是我太菜),然后打开了官网的插件文档,细细的...

    solocoder 评论0 收藏0
  • 7月份前端资源分享

    摘要:更多资源请文章转自月份前端资源分享的作用数组元素随机化排序算法实现学习笔记数组随机排序个变态题解析上个变态题解析下中的数字前端开发笔记本过目不忘正则表达式聊一聊前端存储那些事儿一键分享到各种写给刚入门的前端工程师的前后端交互指南物联网世界的 更多资源请Star:https://github.com/maidishike... 文章转自:https://github.com/jsfr...

    pingan8787 评论0 收藏0
  • 后端工程师的 Nginx 服务器烹调书

    摘要:说明对后端服务来讲,服务器由其高性能得到广泛应用。原书为英文版,由于自己英语水平所限,在进行系统学习之前,大致浏览并使用翻译工具将免费版服务器配置部分进行了汉化整理,并取名烹调书。手册发布当前汉化版发布在烹调书,会于近期将源码发布到。 说明 对后端服务来讲,Nginx 服务器由其高性能得到广泛应用。使用 PHP 语言从事后端服务开发工作 6 年,但是如何入门 Nginx 及如何配置优化...

    kevin 评论0 收藏0
  • VS Code、ATOM这些开源文本编辑器的代码实现中有哪些奇技淫巧?

    摘要:知乎上也有相关的讨论,开发的下一代编辑器莫非已经定义为上一代编辑器了吗。 这篇是我在知乎的回答,原文在这里:justjavac: VS Code、ATOM这些开源文本编辑器的代码实现中有哪些奇技淫巧? 研究 V8 比较多,也关注了一下 vscode 和 atom 的性能,每次 vscode、atom 的 change log 我都会看一遍。印象最深的是 vscode 1.14 的一次更...

    adie 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<