elixir 好用的編輯器
Post on 15-Apr-2017
1.088 Views
Preview:
TRANSCRIPT
Elixir 好用的編輯器
by Bobo Chen
工欲善其事,必先利其器。
http://www.fjycw.com/manage/upload/201205/20120530083951421_FJ1.jpg
鄉野調查時間:哪個是你目前開發主力的編輯器
● Vim、Emacs
● Sublime Text、Atom、Notepad++、TextMate
● Eclipse、Netbeans
● JetBrains(IntelliJ、PHPSotrm、WebStorm、PyCharm...)
● Visual Studio、Visual Studio Code
好用的編輯器應該具備哪些條件?
● Syntax Highlighting
● Autocomplete
● Go to function definition
● 豐富的套件支援
● 專案目錄結構瀏覽
推薦3款 Elixir 開發編輯器
Sublime Text IntelliJ IDEA Vim
Sublime Text 安裝與設定
安裝 Sublime Text 3
安裝 Sublime Package Control
安裝 SideBarEnhancements
Sublime Text 推薦套件
● ApplySyntax ○ 自動判斷文件的類型
● SublimeCodeIntel○ 支援多種語言的 Autocomplete
● SublimeLinter○ 支援多種語言的 Linter
● GitGutter ○ 在側欄顯示此檔 Git 修改差異
● EasyMotion○ 懶人鍵盤移動法
● ElixirSublime○ 支援 Elixir 語法 Code completion 和 Linter
● SublimeLinter-contrib-elixirc○ (需先安裝 SublimeLinter)支援 Elixir 語法 Linter
● Elixir-tmbundle○ 支援 Elixir 語法 Linter 和整合 Build code○ - cd ~/Library/Application Support/Sublime Text 3/Packages○ - git clone git://github.com/elixir-lang/elixir-tmbundle Elixir
Sublime Text 推薦套件 for Elixir
IntelliJ IDEA 安裝與設定
● 付費軟體,一年 $499 訂閱制。另外有 Community 版本可以免費使用。
● IntelliJ 安裝 Elixir 套件,可以從 IDE 建立 Elixir project。
● 或是也可以在 PHPStorm、PyCharm 這些 Jetbrains 公司出品的 IDE 安裝 Elixir
套件即可支援 Syntax Highlighting,但是不支援從 IDE 建立 Elixir project) 。
IntelliJ IDEA 推薦套件
● intellij-elixir○ Elixir 官方推薦套件
● AceJump○ 懶人鍵盤移動法
● .ignore ○ 內建許多語言的 .gitignore 的範本
Vim 安裝與設定
Mac:已經有內建 Vim。若是覺得 Mac 內建的 Vim 版本太舊,可使用 brew 安裝新版 Vim,並且在 .bashrc 設定 alias
Ubuntu:
CentOS:
alias vim='/usr/local/bin/vim'
apt-get install vim
yum -y install vim
Vim 推薦套件
● vim-elixir
● EasyMotion
● Vundle
● Undotree
● spf13-vim 大推!
適合的使用情境
● 輕巧快速開檔● 單檔的 Elixir Script
● 開啟完整專案類型● 需要 Compile 的專案
● 在 Server 上面編輯
補充:Elixir 內建的指令與檔案格式
- Elixir 裝好後 Console 已經有以下指令可以使用:
- iex:interactive mode - elixir:執行 elixir script - elixirc:Compiler elixir file - mix:Elixir's build tool
- 2種檔案格式 .ex 、 .exs - .ex 表示 complied files - .exs 表示 script files- 檔案名稱使用 "snake_case"
補充:Interactive mode
- h - IO.puts “String” - respawn
$iex>
Q&A
top related