鍍金池/ 教程/ C++/ 基本的自定義
調(diào)試
初始文件
作用域設(shè)置、作用域和作用域描述符
在Atom中移動
在Atom背后
Atom中的包
為什么選擇Atom?
從Textmate中轉(zhuǎn)換
小結(jié)
新手入門
折疊
代碼段
Hacking Atom
基本的自定義
Atom中的序列化
文本處理包
字?jǐn)?shù)統(tǒng)計(jì)包
所需工具
維護(hù)你的包
Atom基礎(chǔ)
深入鍵表(keymap)
配置API
使用Atom
自動補(bǔ)全
面板
在Atom中寫作
文本選擇
創(chuàng)建主題
圖標(biāo)
小結(jié)
開發(fā)Node模塊
編輯和刪除文本
安裝Atom
通過服務(wù)和其它包交互
小結(jié)
編寫 spec
語法
Atom中的版本控制
查找和替換

基本的自定義

在我們感受到Atom中所有東西的便利之后,讓我們看看如何改進(jìn)它??赡苡幸恍┛旖萱I你經(jīng)常使用但是感覺很別扭,或者一些顏色不是十分適合你。Atom具有驚人的靈活性,所以讓我們對它做一些力所能及的簡單調(diào)整。

使用CSON來配置

所有Atom的配置文件(除了你的樣式表和初始腳本)全部用CSON編寫,全稱是CoffeeScript Object Notation。就像JSON(JavaScript Object Notation)的名字一樣,CSON是一個儲存結(jié)構(gòu)化數(shù)據(jù)的文本格式,表現(xiàn)為由鍵值對組成的簡單對象的形式。

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

對象是CSON的基石,由縮進(jìn)(像上面的文件那樣)或者花括號({})描述。一個鍵的值可以是字符串、數(shù)字、對象、布爾值、null或者上述數(shù)據(jù)類型的一個數(shù)組。

不像CSS的選擇器,CSON的鍵在每個對象中只能重復(fù)一次。如果存在重復(fù)的鍵,最后一次出現(xiàn)的那個會覆蓋其他所有同名的鍵。在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'

樣式調(diào)整

如果你只是對個人樣式做一些應(yīng)急的修改,而不打算發(fā)布整個主題,你可以在你的~/.atom目錄的styles.less文件中添加樣式。

你可以在編輯器中從Atom > Open Your Stylesheet菜單打開這個文件。

http://wiki.jikexueyuan.com/project/atom-flight-manual-zh-cn/images/menubar.png" alt="" />

例如,要修改光標(biāo)的顏色,你可以將一下規(guī)則添加到你的~/.atom/styles.less文件中:

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

了解都有哪些class可用的最簡單方式,是通過開發(fā)者工具手動查看DOM。我們將在下一章詳細(xì)介紹這個工具,現(xiàn)在先簡單來看一下。

你可以通過按下alt-cmd-I來打開開發(fā)者工具,然后會彈出一個Chrome開發(fā)者工具面板。

http://wiki.jikexueyuan.com/project/atom-flight-manual-zh-cn/images/devtools.png" alt="" />

你可以輕易查看到當(dāng)前編輯器的所有元素。如果你想更新一些東西的樣式,你需要先知道它擁有哪個class,然后再你的樣式文件中添加一條Less規(guī)則。

如果你不熟悉Less,它是一個讓CSS變得更簡單的CSS預(yù)處理器,你可以訪問lesscss.org來了解關(guān)于它的更多信息。如果你更愿意使用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:假定項(xiàng)目被存放的目錄
    • themes:要加載的主題名稱的數(shù)組,按照層疊順序
  • editor
    • autoIndent:開啟或關(guān)閉基本的自動縮進(jìn)(默認(rèn)為true)
    • nonWordCharacters:一個非單詞字符的字符串,來指定單詞邊界
    • fontSize:編輯器中的字體大小
    • fontFamily: 編輯器中的字體類型
    • invisibles: 一個Atom用來渲染空白字符的哈希表。鍵是空白字符的類型,值是被渲染成的字符(使用false來屏蔽單個的空白字符)
      • tab:硬tab字符
      • cr:回車(Carriage return,微軟風(fēng)格的行末尾)
      • eol:字符\n`
      • space:在開頭或末尾的空格字符
    • preferredLineLength:設(shè)定一行的長度(默認(rèn)為80)
    • showInvisibles:是否將不可見字符渲染為占位符(默認(rèn)為false)
    • showIndentGuide:是否在編輯器中顯示縮進(jìn)標(biāo)識
    • showLineNumbers:顯示或者隱藏行號
    • softWrap:開啟或關(guān)閉編輯器中的軟換行
    • softWrapAtPreferredLineLength: 開啟或關(guān)閉在preferredLineLength處軟換行
    • tabLength:tab字符所占空格字符的寬度(默認(rèn)為2)
  • fuzzyFinder
    • ignoredNames:只在模糊查找中忽略的文件名
  • whitespace
    • ensureSingleTrailingNewline:是否將文件末尾的多個換行減少為一個
    • removeTrailingWhitespace:開啟或關(guān)閉清除行尾的空白字符(默認(rèn)為true)
  • wrap-guide
    • columns:帶有patterncolumn鍵的數(shù)組,用來將當(dāng)前編輯器的目錄匹配到列中的位置

語言特定配置

你也可以為不同的文件類型設(shè)置幾種不同的配置。例如,你可能希望Atom在Markdown文件中軟換行,在ruby文件中將tab顯示為兩個空格的寬度,在python文件中顯示為4個空格的寬度。

下面是作用于語言的幾種選項(xiàng),這是它們的列表:

editor.tabLength
editor.softWrap
editor.softWrapAtPreferredLineLength
editor.preferredLineLength
editor.scrollPastEnd
editor.showInvisibles
editor.showIndentGuide
editor.nonWordCharacters
editor.invisibles
editor.autoIndent
editor.normalizeIndentOnPaste

設(shè)置視圖中的語言特定配置

你可以在設(shè)置視圖中的每個語言的包中,編輯這些配置。只要在左邊的面板搜索你選擇的語言,選擇它,并且編輯它就好了。

http://wiki.jikexueyuan.com/project/atom-flight-manual-zh-cn/images/python-settings.png" alt="" />

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

你也可以直接編輯實(shí)際的配置文件。通過在命令面板中輸入“open config”并按下回車來打開配置文件。

全局設(shè)置在global鍵的下面。每種語言都有他們自己的頂級鍵,這個鍵就是這種語言的作用域。語言特定的設(shè)置會覆蓋全局域的任何設(shè)置。

'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

查找語言作用域的名字

為了有效地編寫這種覆蓋的設(shè)置,你需要知道語言的作用域名稱。我們已經(jīng)在“代碼段格式”一節(jié)中,為了編寫代碼段而做過一遍了,現(xiàn)在我們簡單地重復(fù)一下。

作于域的名稱顯示在設(shè)置視圖中的每個語言的包中。在左邊的面板中尋找你選擇的語言,選擇它,然后你會在語言名稱的標(biāo)題下面看到作用域名稱:

http://wiki.jikexueyuan.com/project/atom-flight-manual-zh-cn/images/python-grammar.png" alt="" />

上一篇:調(diào)試下一篇:小結(jié)