試用Atom,Github的開發神器

Learning發表於2014-03-12

原文:Check Out Atom, GitHub's New Development Editor By Rey Bango

首先奉上Atom for Mac 下載地址:

原文稍有刪改,如有不對之處,歡迎指出

在開發編輯器相爭的領域,我們看到了不少的更新換代。最後一次使Web開發界轟動的編輯器,非Sublime Text莫屬了,特別是在Package Control出現之後,更為其增添了不少光彩,它提供了完美的包管理功能,使使用者能夠方便的安裝管理各種外掛。

如今,Github開始坐不住了,它釋出了一款新的編輯器的Beta版,名字叫做Atom,誓要颳起Web開發界的一場新風暴。我有幸拿到了Beta版本的程式,接下來我要為你們展示這個編輯器究竟提供了什麼樣的功能。還有一件事需要提醒的是,此編輯器的文件甚是匱乏,所以有些功能需要一探究竟才能知道它使幹什麼用的,不過沒關係,下面我將各個重要的功能給你們一一道來。

一個為21世紀所創造的可配置編輯器

首先我們要知道的是,這只是一個Beta版本,有好多特性在接下來的版本會被修改,或者還有些在最終版本中根本不會出現。比如,我就發現我沒有找到使用一個資料夾建立工程的功能,這對我很重要。不過沒關係,這個Beta版本已經大致可以用了。

接下來我們要說的是,這個編輯器完全是使用Web技術構建的。比如,底層依賴的架構是Chromium(Google Chorome的開源專案),使得每一個視窗都是本地渲染的網頁。為什麼不只是建立一個基於瀏覽器的IDE呢,比如Cloud9IDE?因為,即使很多功能都使用了基本的瀏覽器API,但是對於需要檔案系統訪問權的編輯器來說仍有許多限制,所以把它做成一個桌面應用,就好多了。

總覽

你可以看到Chromium開發這工具在編輯器裡出現,並且高亮顯示了編輯器裡的一個元素。雖然在編輯器裡可以使用Chrome開發工具隨便修改程式碼的內容和樣式是十分怪異的,但我只是為了說明這個編輯器是基於Web技術的。

除此之外,他們(Atom的開發者)還把Node.js加了進來,為的是方便檔案操作、可擴充套件的包管理(npm),使得Atom變得高度可定製化,你可以隨意安裝各種npm包來擴充套件編輯器的功能。

最後,一段話說明他們為什麼使用Web技術來構建這款編輯器:

With the entire industry pushing web technology forward, we're confident that we're building Atom on fertile ground. Native UI technologies come and go, but the web is a standard that can only becomes more capable and ubiquitous with every passing year. We're excited to dig deeper into its toolbox.

當你第一次使用Atom的時候,你會發現它像極了Sublime,在視覺上很有衝擊力。

介面

首先我要檢查的是語言支援,雖然我平時主要使用JavaScript,但是我還是希望他將來能夠支援Ruby on Rails(不只是Ruby,最好還要支援Rails框架啊)。它現在支援的語言有:

  • Python
  • CoffeeScript
  • Go
  • Sass
  • YAML

還有一些其他的。

語言支援

與我所見過的其他編輯器相比,Atom的語言支援已經算是覆蓋的很全面了。

不過與支援的語言相比,Atom更出色的是它的程式碼補全(也叫snippets),它可以使你只輸入少量程式碼來完成大量的程式設計工作。

程式碼補全

比如,如果我輸入ife然後按tab,我會得到以下程式碼:

if (true) {

} else {

}

或者簡單的輸入一個小寫的f然後按tab,它將給我建立一個匿名函式的基本框架:

function () {

}

這些功能在TextExpander和其他編輯器裡已經有好一段時間了,所以很高興看到有一天Github也能擁有這些功能。

可自定義

在Sublime中(即使是v3)有一件事特別使我厭煩的,就是好多配置都要手工輸入和調整。在Atom,好像所有的設定都可以通過設定皮膚來更改配置,以下就是一些你可以通過設定皮膚來配置的屬性:

  • 字型和大小
  • 程式碼行號
  • 主題
  • 包管理

當然你也可以很輕鬆的禁用掉已安裝的包。

設定皮膚

個性化編輯器是許多程式設計師所要做的第一件事,尤其是一個你每天都要使用的主題。Atom預設自帶了五個主題,包括淺色系和深色系的,通過包管理,你還可以增加許多主題來迎合你的品味。

主題設定

我非常開心"Monokai"主題預設就自帶了,它是我個人比較喜歡的。

現在,記得我之前提到過的所有視窗都是使用網頁渲染,可以直接在Atom編輯器裡撥出開發者工具碼?好了,它意味這你可以隨便自定義你的編輯器主題和樣式,因為你可以通過審查元素,找到編輯器各部分的樣式表。Atom允許你通過LESS樣式表(style.less)自定義風格,你可以全權控制你的編輯器。編輯樣式表很簡單,只要找到選單 Atom > Open Your Stylesheet,並做你想要的修改即可。

.editor {

  .meta.tag.sgml.doctype.html { font-size: 26px; }

}

在上例中,我更新了.editor類,增加了DOCTYPE的顯示樣式,我把字型大小調整到了26px,故意弄的很大。以下圖片就展示了樣式更新後,開啟HTML程式碼是怎樣的:

自定義HTML程式碼樣式

正如你所看到的,你可以隨便更改Atom的自定義配置,它的核心技術只是HTML和DOM。

隨著能夠安裝新主題,Atom還提供了一個內建的包管理工具,允許你擴充套件編輯器的功能。這類似於Sublime的Package Control,但與之不同的時這個包管理工具以及內建在編輯器裡面了,不需要另外執行一段程式碼來安裝。

外掛包安裝

安裝一個包非常簡單,只需要點選Install按鈕即可。編輯器還提供了搜尋功能,還有一些推薦安裝的包。

如果你希望通過命令列來完成這些工作,Atom提供了一個命令列工具,名叫apm(Atom Package Manager),以下就是安裝包的命令:

apm install <package name>

安裝autocomplete包就像這樣:

安裝autocomplete外掛包

目前,可安裝的包數量非常少,不過將來會有希望增加更多。

Atom的外掛包

你可以找到比如以下這些比較不錯的包:

還有更多。Atom作為一個新的編輯器,我無法得悉Sublime擴充套件包的作者們把他們的作品移植到Atom需要多長時間。事實上,已經有文件說明如何把TextMate的Bundle移植到Atom上。由於許多TextMate的Bundle和Sublime是相容的,似乎可以想象,Sublime的擴充套件包也可以通過此方法移植。但是別抱太大希望,我自己也沒有試過。

這也許會是外掛開發者們的一個福音,他們可以為新的Atom開發新的外掛包。現在Atom還處於萌芽期,仍缺少許多重要的外掛,比如linter或程式碼高亮。這是一個開發者們可以填滿的空當,我想在不就的將來Atom將會擁有很多的外掛包。

快捷鍵也可以自定義,其使用一個檔案~/.atom/keymap.cson來定義。你可以自己手動開啟此檔案,或者通過選單Atom > Open Your Keymap。開啟這個檔案之後,裡面將會有一些示例給你展示如何編輯快捷鍵。

有一個你需要記住的快捷鍵就是Command-Shift-P,這是一個可以撥出命令皮膚的快捷鍵,命令皮膚將會顯示所有可用的功能和其快捷鍵。

撥出命令皮膚

官方的入門教程給你提供了基礎的使用指引,非常值得閱讀。不過需要記住的是,目前Atom專案的文件還是相當簡陋的,所以部分功能還需自己試驗的,遇到錯誤在所難免。

與其他編輯器的對比

很多人可能會問,Atom和我喜歡的編輯器對比會怎樣?當然Sublime還是我最好的選擇,Atom雖然是一個相當不錯的測試版產品,但是我仍不急於更換。Sublime有很好的內建功能以及豐富的外掛包和活躍的社群,是一個非常成熟的編輯器。

話雖如此,但Atom由Github維護的,擁有強大的後臺。那裡有很多的程式設計愛好者,是極客們的榮譽所在地,我相信我們在不久的將來Atom將擁有不少新的外掛包,尤其考慮到Atom是使用Chromium和Node構建的,優勢可想而知。

目前,因為還是Beta階段,所以Github免費提供Atom,給開發者們一個免費試用以及開發外掛的機會。如果其保持有競爭力的價格,且迅速建立起龐大的外掛庫,我想Atom將會成為我的新寵。

Atom for Mac 下載地址:

相關文章