在我們感受到Atom中所有東西的便利之后,讓我們看看如何改進(jìn)它。可能有一些快捷鍵你經(jīng)常使用但是感覺(jué)很別扭,或者一些顏色不是十分適合你。Atom具有驚人的靈活性,所以讓我們對(duì)它做一些力所能及的簡(jiǎn)單調(diào)整。
所有Atom的配置文件(除了你的樣式表和初始腳本)全部用CSON編寫(xiě),全稱是CoffeeScript Object Notation。就像JSON(JavaScript Object Notation)的名字一樣,CSON是一個(gè)儲(chǔ)存結(jié)構(gòu)化數(shù)據(jù)的文本格式,表現(xiàn)為由鍵值對(duì)組成的簡(jiǎn)單對(duì)象的形式。
key:
key: value
key: value
key: [value, value]
對(duì)象是CSON的基石,由縮進(jìn)(像上面的文件那樣)或者花括號(hào)({}
)描述。一個(gè)鍵的值可以是字符串、數(shù)字、對(duì)象、布爾值、null
或者上述數(shù)據(jù)類(lèi)型的一個(gè)數(shù)組。
不像CSS的選擇器,CSON的鍵在每個(gè)對(duì)象中只能重復(fù)一次。如果存在重復(fù)的鍵,最后一次出現(xiàn)的那個(gè)會(huì)覆蓋其他所有同名的鍵。在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'
而是要寫(xiě)成這樣:
# 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'
如果你只是對(duì)個(gè)人樣式做一些應(yīng)急的修改,而不打算發(fā)布整個(gè)主題,你可以在你的~/.atom
目錄的styles.less
文件中添加樣式。
你可以在編輯器中從Atom > Open Your Stylesheet
菜單打開(kāi)這個(gè)文件。
例如,要修改光標(biāo)的顏色,你可以將一下規(guī)則添加到你的~/.atom/styles.less
文件中:
atom-text-editor::shadow .cursor {
border-color: pink;
}
了解都有哪些class可用的最簡(jiǎn)單方式,是通過(guò)開(kāi)發(fā)者工具手動(dòng)查看DOM。我們將在下一章詳細(xì)介紹這個(gè)工具,現(xiàn)在先簡(jiǎn)單來(lái)看一下。
你可以通過(guò)按下alt-cmd-I
來(lái)打開(kāi)開(kāi)發(fā)者工具,然后會(huì)彈出一個(gè)Chrome開(kāi)發(fā)者工具面板。
你可以輕易查看到當(dāng)前編輯器的所有元素。如果你想更新一些東西的樣式,你需要先知道它擁有哪個(gè)class,然后再你的樣式文件中添加一條Less規(guī)則。
如果你不熟悉Less,它是一個(gè)讓CSS變得更簡(jiǎn)單的CSS預(yù)處理器,你可以訪問(wèn)lesscss.org來(lái)了解關(guān)于它的更多信息。如果你更愿意使用CSS,這個(gè)文件也可以命名為styles.css來(lái)包含CSS。
Atom從你~/.atom
目錄中的config.cson
文件中加載配置,它含有CoffeeScript格式的JSON,也就是CSON:
'core':
'excludeVcsIgnoredPaths': true
'editor':
'fontSize': 18
配置本身以包名分組,或者一兩個(gè)核心的命名空間,比如core
和editor
。
你可以從Atom > Open Your Config
菜單在編輯器中打開(kāi)它。
core
disabledPackages
:被禁用的包名的一個(gè)列表excludeVcsIgnoredPaths
:不要加載.gitignore
指定的文件ignoredNames
:在Atom中要忽略的文件名projectHome
:假定項(xiàng)目被存放的目錄themes
:要加載的主題名稱的數(shù)組,按照層疊順序editor
autoIndent
:開(kāi)啟或關(guān)閉基本的自動(dòng)縮進(jìn)(默認(rèn)為true)nonWordCharacters
:一個(gè)非單詞字符的字符串,來(lái)指定單詞邊界fontSize
:編輯器中的字體大小fontFamily
: 編輯器中的字體類(lèi)型invisibles
: 一個(gè)Atom用來(lái)渲染空白字符的哈希表。鍵是空白字符的類(lèi)型,值是被渲染成的字符(使用false來(lái)屏蔽單個(gè)的空白字符)tab
:硬tab字符cr
:回車(chē)(Carriage return,微軟風(fēng)格的行末尾)eol:字符
\n`space
:在開(kāi)頭或末尾的空格字符preferredLineLength
:設(shè)定一行的長(zhǎng)度(默認(rèn)為80)showInvisibles
:是否將不可見(jiàn)字符渲染為占位符(默認(rèn)為false)showIndentGuide
:是否在編輯器中顯示縮進(jìn)標(biāo)識(shí)showLineNumbers
:顯示或者隱藏行號(hào)softWrap
:開(kāi)啟或關(guān)閉編輯器中的軟換行softWrapAtPreferredLineLength
: 開(kāi)啟或關(guān)閉在preferredLineLength
處軟換行tabLength
:tab字符所占空格字符的寬度(默認(rèn)為2)fuzzyFinder
ignoredNames
:只在模糊查找中忽略的文件名whitespace
ensureSingleTrailingNewline
:是否將文件末尾的多個(gè)換行減少為一個(gè)removeTrailingWhitespace
:開(kāi)啟或關(guān)閉清除行尾的空白字符(默認(rèn)為true)wrap-guide
columns
:帶有pattern
和column
鍵的數(shù)組,用來(lái)將當(dāng)前編輯器的目錄匹配到列中的位置你也可以為不同的文件類(lèi)型設(shè)置幾種不同的配置。例如,你可能希望Atom在Markdown文件中軟換行,在ruby文件中將tab顯示為兩個(gè)空格的寬度,在python文件中顯示為4個(gè)空格的寬度。
下面是作用于語(yǔ)言的幾種選項(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è)置視圖中的每個(gè)語(yǔ)言的包中,編輯這些配置。只要在左邊的面板搜索你選擇的語(yǔ)言,選擇它,并且編輯它就好了。
你也可以直接編輯實(shí)際的配置文件。通過(guò)在命令面板中輸入“open config”并按下回車(chē)來(lái)打開(kāi)配置文件。
全局設(shè)置在global
鍵的下面。每種語(yǔ)言都有他們自己的頂級(jí)鍵,這個(gè)鍵就是這種語(yǔ)言的作用域。語(yǔ)言特定的設(shè)置會(huì)覆蓋全局域的任何設(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
為了有效地編寫(xiě)這種覆蓋的設(shè)置,你需要知道語(yǔ)言的作用域名稱。我們已經(jīng)在“代碼段格式”一節(jié)中,為了編寫(xiě)代碼段而做過(guò)一遍了,現(xiàn)在我們簡(jiǎn)單地重復(fù)一下。
作于域的名稱顯示在設(shè)置視圖中的每個(gè)語(yǔ)言的包中。在左邊的面板中尋找你選擇的語(yǔ)言,選擇它,然后你會(huì)在語(yǔ)言名稱的標(biāo)題下面看到作用域名稱:
更多建議: