其實在用 VScode 之前,R 專用的 IDE: RStudio 也用得好好的,不過因為某人推坑加上之後也會想要學其它程式語言,不想要一個程式語言就一個 IDE,所以就來試試 VScode了。 VScode 本身只是個編輯器,所以對需要邊寫 code 也邊在像 RStudio 一樣執行程式碼看結果,但又不想透過另外開 terminal 來執行,就會需要多一點設定的動作了。
先說使用心得好了,用過後覺得 VScode 跟 RStudio 使用起來沒有差太多,可能是我沒有需要太多功能吧(?) 所以對只寫 R 的人來說,RStudio 用習慣的話,我覺得是沒有什麼必要換成 VScode,而且有些自動補齊的功能不知道是我沒設定好還是怎樣,RStudio 還是的功能還是比較完整,畢竟是專屬的 IDE 嘛~ 不過 VScode 介面不知為何看起來就是比較舒服順眼,所以應該還是會繼續看看有什麼 extension 可以加或改設定可以讓它用起來更順手,有找到什麼好用的東西再來介紹吧XD
Install vscode
1 | windows |
或著也可以去 官網 選擇相對應作業系統的安裝檔下載來安裝
Install extensions
VScode 本身只是個編輯器,所以如果不只是想要編輯,同時也想在 VScode 上執行 script 的話,就需要靠與各語言接口的 extensions 啦。以 R 來說,需要安裝的基本 extension 有 R, R LSP Client 這兩個。
R support for Visual Studio Code
VS Code 的 R 核心 extension,具有語法高亮、程式碼執行等功能,裝了之後就可以像在 RStudio 裡面一樣使用 ctrl + enter 來執行選取的程式碼惹。R LSP Client
有了它就可以進行程式碼補全、檢視 R function 定義等。不過想讓這個 extension 功能實踐,還需要安裝額外的 package:languageserver
才能讓 VScode 跟 R 連動。1
install.packages("languageserver")
Setting path of R
必須的 extensions 安裝完之後,還有一些路徑需要設定,VScode 才會跟你想要使用的語言來做連動,以 R 來說有兩個路徑要設,r.rterm 與 r.Lsp。
- 按下 F1,輸入
Preferences: Open Settings
進入設定的頁面 - 看作業系統選擇輸入 r.term.mac 或 r.term.windows 以及 r.lsp
- 在指定路徑的地方輸入自己電腦存放 R 執行檔 R.exe 的路徑,記得要找到對的執行檔路徑!像我 mac 不知為何有兩個 R.exe 第一次設到不是平常用的那一個執行檔路徑,結果一堆 package 都沒有orz 好在後來找到平常使用的那個路徑了…像我 mac 的路徑是
/Library/Frameworks/R.framework/Versions/3.5/Resources/bin/R
; windows 的則是C:\Program Files\R\R-3.5.0\bin\x64\R.exe
radian (rtichoke)
以上都設定好後,應該就可以在 VS Code 中執行 R 程式碼了,不過這時候底下 terminal 呼叫出來的是官方的 R 終端,這個終端只有基本執行程式碼的功能,就像你直接打開 R.exe 來執行程式碼那樣樸素,對用慣了華麗又人性化的 RStudio Console 的人來說應該會超不習慣而且會覺得很難用。
好在有 radian (舊名為 rtichoke) 幫忙實現多行編輯、語法高亮和自動補齊等功能,用起來不輸 RStudio 太多。不過因為這個軟體本身是 Python 寫,所以需要安裝 Python 然後用 pip 來安裝。
- 安裝 Python (推薦用 anaconda 來安裝 Python)
- 開啟 Anaconda Prompt, 輸入
pip install -U radian
待安裝完成後輸入
radian
測試是否安裝成功,有進到 R 裡面就代表成功啦!1
2
3radian
R version 3.5.3 (2019-03-11) -- "Great Truth"
Platform: x86_64-apple-darwin15.6.0 (64-bit)回到終端機,輸入
where radian
找到 radian.exe 的路徑1
2where radian
/usr/local/anaconda3/bin/radian接著在 VS Code 中重新設定
r.rterm.windows
/r.rterm.mac
以及r.lsp.path
為 rtichoke.ext 的路徑打開 r.rterm.option 的配置檔案 (.json),取消掉這個選項下的 –no-save 和 no-restore 參數 (如果原本沒有參數的話,直接增加 line 8-10 就可以了)
1
2
3
4
5
6
7
8
9
10
11
12
13{
"r.rterm.mac": "/usr/local/anaconda3/bin/radian",
"files.associations": {
"*.rmd": "markdown"
},
"r.lsp.path": "/usr/local/anaconda3/bin/radian",
"r.lsp.debug": true,
"r.rterm.option": [
// "--no-save",
// "--no-restore",
"--no-site-file"
]
}重啟 VScode 應該就可以像下面這樣看到華麗的 terminal 啦~!
Keyboard shortcut
快捷鍵的設定可以在設定當中的 Keyboard Shortcut 介面中作設定,有一些比較特殊的指令也可以透過直接修改 keybindings.json
來做設定(按下 {} 來開啟設定的 .json)。
像是以往在 RStudio 常用的 <-
以及 %>%
的快捷鍵設定就可以像下面這樣操作。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18[
{
"key": "alt+-",
"command": "type",
"args": {
"text": " <- "
},
"when": "editorTextFocus"
},
{
"key": "cmd+shift+m",
"command": "type",
"args": {
"text": " %>% "
},
"when": "editorTextFocus"
}
]
其中 key 指的就是快捷鍵的部分,多個快捷鍵可以用 +
來做連接;command 為命令,這裡的 type 指的就是輸入; args 就是快捷鍵輸入的內容,寫在 text
之後;when 則是指定快捷鍵在哪個地方有作用,後面指定的 editorTextFocus
指的是在編輯器的時候。
Reference
在VSCode 中配置R 语言运行环境
radian
VS Code 系列 1:提升 R 和 Python 使用體驗
在VSCode中愉快地使用R