試用Atom,Github的開發神器
原文: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程式碼是怎樣的:
正如你所看到的,你可以隨便更改Atom的自定義配置,它的核心技術只是HTML和DOM。
隨著能夠安裝新主題,Atom還提供了一個內建的包管理工具,允許你擴充套件編輯器的功能。這類似於Sublime的Package Control,但與之不同的時這個包管理工具以及內建在編輯器裡面了,不需要另外執行一段程式碼來安裝。
安裝一個包非常簡單,只需要點選Install按鈕即可。編輯器還提供了搜尋功能,還有一些推薦安裝的包。
如果你希望通過命令列來完成這些工作,Atom提供了一個命令列工具,名叫apm
(Atom Package Manager),以下就是安裝包的命令:
apm install <package name>
安裝autocomplete包就像這樣:
目前,可安裝的包數量非常少,不過將來會有希望增加更多。
你可以找到比如以下這些比較不錯的包:
- Markdown預覽
- 跳到指定行
- 自動儲存(當你的編輯器失去焦點時會自動儲存)
還有更多。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 下載地址:
相關文章
- GitHub 如何基於 Node.js 和 Chromium 開發 Atom?GithubNode.js
- 開發桌面應用框架 Atom Shell框架
- 一些適用於前端開發的 Atom 外掛前端
- 火爆 GitHub!這個神器開源了!Github
- 如何從0開發一個Atom元件元件
- Github Atom 你所不知道的一些事Github
- PhpStormPHP開發神器PHPORM
- Github Atom 將改用 React 編輯器,提升效能GithubReact
- 盤點Go中的開發神器Go
- Atom在Vscode衝擊下被淘汰 - githubVSCodeGithub
- 基於Github的敏捷開發Github敏捷
- 更好地使用Atom支援基於Jupyter的Python開發Python
- CrossApp推出移動應用開發神器CrossApp StyleROSAPP
- 神器:前端開發人員必備的5款開發工具前端
- iOS開發-自動打包神器iOS
- 微信小程式開發神器-Grace微信小程式
- 智慧合約開發神器-RemixREM
- atom for mac配置c/c++開發環境筆記MacC++開發環境筆記
- ATOM阿童木(智慧合約)系統技術開發分析
- 用c# 開發html5的嘗試,試用bridge.netC#HTML
- javascript開發後端程式的神器nodejsJavaScript後端NodeJS
- 兩巨頭Facebook 和 GitHub 聯手推出 Atom-IDEGithubIDE
- Facebook 和 GitHub 兩大巨頭聯手推出 Atom-IDEGithubIDE
- GitHub上那些值得一試的JAVA開源庫GithubJava
- 黑科技開戶神器黑科技開戶神器黑科技開戶神器黑科技開戶神器黑科技開戶神器
- ATOM阿童木質押挖礦模式軟體開發詳情模式
- 開源HTML5APP開發神器CanTKHTMLAPP
- 前端全能開發神器:codekit for mac前端Mac
- codekit for mac - 前端全能開發神器Mac前端
- sublime text前端程式碼開發神器前端
- 推薦一款全能測試開發神器:Mockoon!1分鐘快速上手!Mock
- ATU 擴充套件,改變你的開發方式! 基於註解的單元測試神器套件
- 行為驅動開發在 Python 開發測試中的應用Python
- ABAP開發的Github issue備份工具Github
- 低程式碼——新時代軟體開發的神器
- 開發中常用的一些神器推薦
- GitHub 宣佈 12 月 15 日歸檔 Atom 及旗下專案Github
- 10個值得一試的iPhone應用開發教程iPhone