如何在 Visual Studio Code 中運行 R語言
譯文【51CTO.com快譯】如果你是一個忠誠的 RStudio 用戶,你可能從來沒有嘗試過其他 R語言(甚至 Python)編輯器的想法。但是,如果你想試一下GitHub Copilot(GitHub新的基于 AI 的編碼助手),則需要在 Microsoft 的 Visual Studio Code 中編寫代碼。目前,GitHub Copilot 只在微軟的編輯器中可用——考慮到微軟擁有 GitHub,這并不奇怪。
GitHub Copilot 使用 AI工作時建議代碼行。它沒有 針對R語言進行優化,但仍然會推薦 R 語言代碼。微軟的云倡導者Davidsmith在 推特上發布了一個簡短的演示,表明 GitHub Copilot 測試版還可以提供 tidyverse 代碼以及基礎 R語言。
為 R 語言設置 Visual Studio Code
難的是,Visual Studio代碼設置到有R語言的有點復雜,并不像安裝RStudio那樣簡單。這是因為 VSCode 有能力支持數百種編程語言的能力,遠遠超過 RStudio。默認情況下,提供所有的功能會使軟件變得負載。因此,VS Code 是模式化的,大多數用戶必須安裝擴展才能針對特定用例優化 VS Code。
對于 R 語言用戶,這意味著要安裝幾個擴展并且調整一些設置。
顯然,第一步是下載 Visual Studio Code, VS Code 是免費的,可用于 Windows、Mac 和 Linux。像安裝任何其他軟件包一樣安裝它。
接下來是添加 R語言 支持。在 Visual Studio Code 左側的“activity導航欄上,單擊帶有四個方塊的圖標以搜索擴展名。搜索“R 語言”,是因為搜索“R”會返回大量不相關的結果。Smith為VisualStudio代碼推薦了UyukiUeda的R擴展,也就是vscode-R,它提供了基本的R語言支持(運行、代碼片段、查看器),顯示為第一個搜索結果。
單擊擴展圖標以搜索 R 語言擴展
單擊“install”按鈕后,將會看到一個屏幕,其中包含有關如何配置和運行擴展的信息,這是十分重要的。
安裝擴展程序后,將會看到一個屏幕,其中包含有關如何優化和使用擴展程序的詳細信息
通過閱讀vscode-R項目的githubwiki頁面和GitHub主頁,下面是通過哪些方法可以改善R語言的操作。
第一個建議是使用弧度終端(radian terminal)。這不是 VS Code 擴展,而是用 Python 編寫的應用程序——這意味著系統需要安裝 Python 才能運行 radian。我已經在我的 Mac 上安裝了 Python 和 conda 包管理器,所以我對radian使用了這個安裝命令:
- conda install -c conda-forge radian
對于使用流行的 Python 包管理器的用戶,還有一個 pip install 命令:
- pip install -U radian
如果系統尚未安裝 Python,請觀看下面的視頻,以獲取有關如何安裝 Python 以與 R 和 RStudio 一起使用的簡單說明。
vscode-R 擴展還有其他兩個推薦的安裝:languageserver 和 vscode-r-lsp。
languageserver 是一個常規的 R 包,可以回到 RStudio 或 R 終端,用install.packages(“languageserver”)以通常的方式安裝它。
要安裝 vscode-r-lsp,可以返回到Visual Studio Code 窗口,并從 VS Code 擴展市場安裝它,也可以單擊vscode-r-lsp 網頁上的安裝按鈕 。
vscode-R 擴展的 wiki 還建議安裝另外兩個 R 語言包:jsonlite 和 rlang。如果不按照上述操作安裝,jsonlite 和 rlang 也可以通過install.packages()從CRAN安裝install.packages().
調整 R 語言的 Visual Studio Code 設置
vscode-R 擴展指令還需要“啟用 config r.bracketedPaste”。這意味著我們需要進入 VS Code 設置,并打開該設置(如果尚未啟用)。
更改 VS Code 設置的最簡單方法是打開設置用戶界面。(另一個選項是編輯底層設置 JSON 文件)。要訪問設置 UI,請轉到Windows 上的文件 > 首選項 > 設置或Mac 上的代碼 > 首選項 > 設置。然后可以搜索“bracketedPaste”并單擊以啟用它。
同時,還可以使用 Visual Studio Code 的命令面板訪問設置 UI。命令面板是一種通過鍵入而不是指向和單擊菜單來訪問各種 VS Code 功能的便捷方式。許多軟件開發環境都有命令調色板,了解它們是十分有用的。在 VS Code 中,可以使用 F1 鍵或 Windows 上的 Control-Shift-P 組合鍵或 Mac 上的 Command-Shift-P 組合鍵來調出命令面板。
可以使用命令面板訪問 VS Code 設置選項
打開命令面板選項后,可以通過鍵入Open Settings來獲取VS Code 設置. 可以會看到打開圖形 UI 或底層 JSON 文件的選項。
vscode-R 擴展的文檔中提到了一些其他要更新的設置。一個是啟用R Session Watcher.。打開的另一個設置是R: Always Use ActiveTerminal. 這意味著所有 R 語言代碼都將被發送到當前的活動終端,即使它不是 R 終端,也不是啟動一個新的 R 終端,這解決了在 Mac 上遇到的問題。但是,在 VS Code 中的每個 R 會話開始時,都需要在嘗試運行 R 語言之前在“常規”(非 R)終端中鍵入“radian。
由此可見,這比RStudio 安裝要復雜一些。
在 Visual Studio Code 中編寫和運行R語言代碼
vscode-R 擴展說明建議用戶在使用vscode-R時打開一個 文件夾,而不僅僅是創建一個新文件。可以通過進入File > Add Folder to Workspace來打開文件夾。完成此操作后,可以使用左側活動導航欄頂部的“資源管理器”圖標查看可用文件。
如果想運行代碼又想編寫代碼,那么設置會話的另一個步驟是:打開一個“常規”非 R 終端,然后通過鍵入radian來啟動R的radian終端。要做到這一點,可以轉到頂部菜單和Terminal > New Terminal。一旦輸入radian終端,radianr終端就會啟動。
通過在 Windows 上按 Control-Enter 或在 Mac 上按 Command-Enter 來可以運行一行代碼或選定的多行代碼。這與 RStudio 非常相似。
不過,VS Code 中的“help”與 RStudio 中的“help”略有不同。使用help()或?幫助快捷方式看起來更像是 Unix 幫助——需要鍵入q在查看后退出。
將鼠標懸停在 ggplot2 的 geom_bar() 等函數上,VS Code 將返回help文件信息
但是,如果將鼠標懸停在某個函數上,無需鍵入任何內容即可獲得一些幫助信息,操作非常方便。
懸停也適用于定義的變量。(可以在本文頂部嵌入的視頻中了解其工作原理。)
也可以通過運行ggplot2等圖形代碼在Visual Studio Code中預覽R圖形,生成的圖形會在新窗口中彈出。
在 R 腳本中使用顏色名稱或十六進制代碼,VS Code 將顯示一個帶有該顏色的小框,單擊該框,它會變成一個顏色選擇器
VS Code 有一個很強的 R dataviz 功能:當你在 R 代碼中包含顏色的名稱或十六進制代碼時,會彈出一個顯示該顏色的小框,該框還可以用作顏色選擇器。單擊它,可以選擇任何其他顏色,新的顏色十六進制代碼將替換代碼中的舊顏色。也可以在上面的視頻中看到這一點。
Visual Studio Code 中的 R語言代碼片段
最后一點:不能使用沒有代碼片段的代碼編輯器。代碼段是存儲的代碼塊,通過鍵入代碼段的縮寫很容易重用。vscode-R擴展中包含了一些R代碼段,但是也可以創建自己的代碼段。
第一次進入Code > Preferences > User Snippets并選擇 R 時,會自動生成一個R Snippets JSON文件。現在,如果轉到Code > Preferences > User Snippets,就可以打開 r.json 片段文件,編輯舊片段或添加新片段。
以下是在 VS Code 中創建代碼段的語法:
- "Snippet Title": {
- "prefix": "what_i_type_to_trigger_snippet",
- "body": [
- "my R code here;",
- "myfun(${1:argument_label} #example code"
- ],
- "description": "Optional description for my snippet"
- }
下面是創建帶有藍色條形的基本 ggplot2 條形圖的片段示例。
- "Basic bar plot blue": {
- "prefix": "myg_barplot_blue",
- "body": [
- "ggplot(${1:mydata}, aes(x = ${2:myxcol}, y = ${3:myycol})) +",
- "geom_bar(stat='identity', color = 'black', fill='#0072B2')"
- ],
- "description": "Basic ggplot bar plot with blue bars outlined in black"
- }
美元符號大括號“$”是可以通過制表符填充的變量。
RStudio 也有代碼片段。兩種代碼編輯器都可以在開始鍵入片段縮寫時查看可用的片段。但是,VS Code 還允許使用命令面板中的“插入代碼段”命令查看代碼段的完整列表——只需按 F1 鍵,然后鍵入“插入代碼段”。
關于使用在 Visual Studio Code編寫 R語言?
Visual Studio Code 有一些非常有用的功能,對于某些代碼繁重的項目,函數和變量彈出窗口會派上用。
我非常喜歡 VS Code 中查看我所有代碼段的能力,包括標題和可選描述。
不過,我會傾向于喜歡使用 RStudio,尤其是對于 R語言特定的任務,如 R Markdown 文檔和 Shiny 應用程序。但是如果當我訪問 GitHub Copilot 時,會選擇使用Visual Studio Code軟件。
要了解更多的R技巧,請訪問InfoWorld使用R頁面進行更多操作。
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】