從 RStudio 搬到 Positron(Posit Academy 繁中筆記)

把買了看不完的線上課程,一鍵變成能讀完的筆記。

1門課程8篇筆記一鍵自動整理
🚚

從 RStudio 搬到 Positron(20 分)

· 8 篇
🗺️ 本課地圖(點單元標題可跳到那一篇)
用 Command Palette 找到任何指令在 Positron 裡不用記按鈕在哪:按 ⌘⇧P 打開 Command Palette、打關鍵字、按 Enter,就能執行任何指令。這是搬家最值得養成的第一個習慣。
帶著 RStudio 快捷鍵過來打開 workbench.keybindings.rstudioKeybindings 這一個設定並重新載入視窗,整套 RStudio 快捷鍵就能在 Positron 照常使用。
打開你的專案、安排版面Positron 的專案就是「一個資料夾開成一個視窗」,不需要 .Rproj;版面則從內建預設(Stacked/Side-by-Side/Notebook)挑一個最像 RStudio 的再微調。
換上熟悉的配色**用 Preferences: Color Theme 可以一邊移動一邊即時預覽配色,按 Enter 才套用;想要 RStudio 經典配色,就裝 Tomorrow Night Bright (R Classic) 擴充套件。**
用 Air 自動排版程式碼Positron 內建 R 排版工具 Air,打開 editor.formatOnSave 之後,每次存檔程式碼就會自動排整齊。
用程式碼片段與擴充套件重複利用**Snippet 幫你插入現成的程式碼骨架,擴充套件市集比 RStudio addins 大得多,而大部分既有的 RStudio addins 也能用 R: Run RStudio Addin 直接在 Positron 執行。**
搞清楚和 RStudio 哪裡不一樣Positron 目前還缺三樣東西(重啟保留工作區、效能分析與套件開發窗格、點選式資料匯入),每樣都有替代做法;而它也多了 RStudio 做不到的六項能力。
課程總結搬家完成:用 Command Palette 找指令、沿用 RStudio 快捷鍵、版面與配色都調成熟悉的樣子、存檔自動排版,而且全都在你原本的專案裡做完。

用 Command Palette 找到任何指令

從 RStudio 搬到 Positron · 第 1 單元
一句話總結

在 Positron 裡不用記按鈕在哪:按 ⌘⇧P 打開 Command Palette、打關鍵字、按 Enter,就能執行任何指令。這是搬家最值得養成的第一個習慣。

你會學到
  • 怎麼打開 Command Palette 並搜尋任何 Positron 指令
  • 為什麼它能取代 RStudio 大部分的按鈕和選單
  • 內建的「從 RStudio 搬到 Positron」互動導覽在哪裡
開始前

需要已安裝 Positron 並開著一個專案。還沒裝可到 https://positron.posit.co/download.html 下載。

內容筆記

從「找按鈕」改成「打字搜尋」

在 RStudio,想做某件事時你會去找按鈕、翻選單,或用背好的快捷鍵。Positron 一樣有上百個指令,但不需要記每個指令藏在哪,只要記一個入口:Command Palette(指令面板),一個可以搜尋 Positron 所有 IDE 指令的清單。

  1. 按 ⌘⇧P(Windows/Linux 是 Ctrl+Shift+P)打開 Command Palette。
  2. 開始打關鍵字,模糊搜尋會邊打邊列出符合的指令。
  3. 用方向鍵選擇,按 Enter 執行。
Positron 開著 Command Palette:畫面正上方彈出搜尋框,下方列出符合關鍵字的指令清單,有快捷鍵的指令會在右側顯示按鍵組合
Positron 開著 Command Palette:畫面正上方彈出搜尋框,下方列出符合關鍵字的指令清單,有快捷鍵的指令會在右側顯示按鍵組合
馬上試

打開 Command Palette,輸入 Toggle Primary Side Bar 後按 Enter。

成功的樣子:左側的側邊欄消失;再執行一次就會回來。你沒有碰任何按鈕就完成了一個動作。

為什麼這是最重要的習慣

這門課接下來幾乎每一步都用同一個起手式:打開 Command Palette,打出你想做的事。這個反射動作可以取代你在 RStudio 找按鈕的大部分肌肉記憶。課程目標是讓你上完課時,不加思索就會先按 ⌘⇧P。

內建的搬家導覽

Positron 內建一份互動導覽 Migrating from RStudio to Positron。在 Command Palette 搜尋 Welcome: Open Walkthrough 就能打開,可以當這門課的速查手冊。打開它的方式本身就是在練習用 Command Palette。

怎麼確認學會了

不碰選單或按鈕,就能打開 Command Palette、用關鍵字找到指令並執行。

關鍵詞

  • Command Palette(指令面板):⌘⇧P 打開的搜尋框,列出 Positron 所有可執行的指令
  • Fuzzy finder(模糊搜尋):不需要打完整指令名稱,打部分關鍵字就會列出相符的指令
  • Primary Side Bar(主側邊欄):視窗左側顯示檔案、搜尋、Git 等內容的區域

可執行要點

📝 隨堂測驗(點選項作答)
在 Positron 想執行某個功能但不知道按鈕在哪,課程建議的第一步是?
Command Palette 列出所有 IDE 指令,是課程反覆強調的唯一入口。
內建的「從 RStudio 搬到 Positron」導覽要怎麼打開?

帶著 RStudio 快捷鍵過來

從 RStudio 搬到 Positron · 第 2 單元
一句話總結

打開 workbench.keybindings.rstudioKeybindings 這一個設定並重新載入視窗,整套 RStudio 快捷鍵就能在 Positron 照常使用。

你會學到
  • 怎麼一次開啟整套 RStudio 快捷鍵
  • 沿用 RStudio 快捷鍵與改學 Positron 原生快捷鍵的取捨
  • 怎麼從 Command Palette 查看與修改任一指令的快捷鍵
開始前

需要會開啟與搜尋 Command Palette(第 1 單元)。

內容筆記

肌肉記憶不用丟

你的手指已經習慣用 ⌘Enter 執行一行、用 ⌘⇧M 插入 pipe。怕失去這些肌肉記憶,是 RStudio 使用者最常見的效率焦慮,所以課程第一件事就是解決它。

很多 RStudio 快捷鍵在 Positron 本來就能用。另外只要開一個設定,就能啟用整套 RStudio 快捷鍵。如果你主要用的是 RStudio,課程建議打開。

四步開啟

  1. 打開 Command Palette,搜尋 Preferences: Open Settings (UI)。
  2. 在設定頁搜尋 rstudioKeybindings。
  3. 勾選 workbench.keybindings.rstudioKeybindings。
  4. 從 Command Palette 執行 Developer: Reload Window 重新載入。
Positron 設定頁搜尋 rstudioKeybindings 後只找到一項:「Workbench › Keybindings: Rstudio Keybindings — Enable RStudio keybindings (requires restart)」,勾選框已打勾
Positron 設定頁搜尋 rstudioKeybindings 後只找到一項:「Workbench › Keybindings: Rstudio Keybindings — Enable RStudio keybindings (requires restart)」,勾選框已打勾
馬上試

照上面四步做完後,按 Ctrl+1 游標應該跳到編輯器,按 Ctrl+2 跳到 Console,和 RStudio 一樣。

開啟後,你熟悉的 RStudio 快捷鍵大多可以原樣使用。

另一個選擇:直接學 Positron 原生快捷鍵

如果想從一開始就學 Positron 原生的快捷鍵,就不要開這個設定。Positron 有完整的快捷鍵參考,以及 R 專用快捷鍵說明可查。

查看與修改快捷鍵

有快捷鍵的指令,在 Command Palette 裡會顯示在指令旁邊。滑鼠移到指令上會出現齒輪圖示,點它就能修改那個指令的快捷鍵。

可執行要點

📝 隨堂測驗(點選項作答)
開啟 rstudioKeybindings 之後還要做什麼才會生效?
設定說明寫明 requires restart,課程用 Developer: Reload Window 重新載入。
開啟成功後,Ctrl+2 會做什麼?

打開你的專案、安排版面

從 RStudio 搬到 Positron · 第 3 單元
一句話總結

Positron 的專案就是「一個資料夾開成一個視窗」,不需要 .Rproj;版面則從內建預設(Stacked/Side-by-Side/Notebook)挑一個最像 RStudio 的再微調。

你會學到
  • 不靠 .Rproj 也能打開既有的 RStudio 專案
  • Activity Bar 與 Primary Side Bar 分別對應 RStudio 的哪些窗格
  • 怎麼試用內建版面預設,挑一個最接近你 RStudio 習慣的
開始前

需要會開啟與搜尋 Command Palette(第 1 單元)。

內容筆記

打開既有專案

RStudio 是雙擊 .Rproj 檔來開專案。Positron 的 workspace(工作區) 就是在獨立視窗裡打開一個資料夾:概念一樣,只是不需要那個特殊檔案。

  1. 打開 Command Palette,執行 File: Open Folder(或選單 File › Open Folder)。
  2. 選擇專案資料夾。

也可以在該資料夾的終端機裡執行 positron .。

Positron 歡迎畫面上打開資料夾的幾個入口(以橘框標示):工具列的 Open 按鈕與其下拉選單(New Folder、Open Folder、最近開過的資料夾清單)
Positron 歡迎畫面上打開資料夾的幾個入口(以橘框標示):工具列的 Open 按鈕與其下拉選單(New Folder、Open Folder、最近開過的資料夾清單)
  • 原本的 .Rproj 可以留著,Positron 會忽略它。
  • 如果用 Git,.git/ 資料夾仍會標示專案根目錄,here 套件等工具的路徑照常運作。
馬上試

在 Command Palette 搜尋 File: Open Recent,重新打開一個你平常在用的專案。

成功的樣子:專案在自己的視窗打開,Explorer 列出你的檔案,完全不需要 .Rproj。再執行一次 File: Open Recent 就能回到上一個專案。

專案設定存在哪

Positron 把專案專屬設定存在 .vscode/settings.json,而且只有在你設定了專案專屬選項時才會建立這個檔。Positron 沒有對應 .Rproj 的檔案,也不需要。

對應 RStudio 的窗格

RStudio 固定分成四個窗格。Positron 用的是同樣的元件(編輯器、Console,以及 Variables、Plots 等窗格),但用兩個控制項來安排:

  • Activity Bar(活動列):最左側那排圖示,決定 Primary Side Bar 要顯示什麼。
  • Primary Side Bar(主側邊欄):依目前選中的圖示,顯示檔案、搜尋、Git、擴充套件等內容。
Activity Bar 圖示RStudio 對應
ExplorerFiles 窗格與文件大綱(Outline)
SearchEdit › Find in Files 或 ⌘⇧F
Source ControlGit 窗格
Debugger除錯模式下的 Debugging 窗格
Test ExplorerRStudio 沒有對應功能
Posit AssistantPosit Assistant 聊天視窗
PublisherPublishing Wizard(發佈精靈)
PackagesPackages 窗格
Positron 介面五大區塊標示圖:最左一排圖示是 Activity Bar;旁邊的檔案清單是 Primary Side Bar;中上方是 Editor(編輯器);中下方是 Panel(Console、Terminal 等);最右邊放 Variables 與 Plots 的是 Secondary Side Bar
Positron 介面五大區塊標示圖:最左一排圖示是 Activity Bar;旁邊的檔案清單是 Primary Side Bar;中上方是 Editor(編輯器);中下方是 Panel(Console、Terminal 等);最右邊放 Variables 與 Plots 的是 Secondary Side Bar

挑一個版面預設

Positron 的版面比 RStudio 有彈性,課程建議先從內建預設開始,再慢慢調整。

馬上試

在 Command Palette 輸入 layout,依序試 Stacked、Side-by-Side、Notebook 三種預設。

成功的樣子:窗格會立即重新排列。留下最像你 RStudio 習慣的那個;任何窗格也都可以拖到新位置。

其他調整方式:

  • 用右上角的版面按鈕調整
  • 把分頁從一個窗格拖到另一個窗格
  • 拖動窗格邊界改變大小
Positron 右上角的版面按鈕:最左一顆是 Customize Layout(自訂版面),右邊三顆分別切換顯示或隱藏左側欄、下方面板、右側欄
Positron 右上角的版面按鈕:最左一顆是 Customize Layout(自訂版面),右邊三顆分別切換顯示或隱藏左側欄、下方面板、右側欄

完整選項請看 Positron 文件的「Customize the Layout」。

關鍵詞

  • Workspace(工作區):在獨立視窗打開的一個資料夾,就是 Positron 的「專案」
  • Activity Bar(活動列):最左側圖示列,切換主側邊欄的內容
  • Primary Side Bar(主側邊欄):顯示檔案、搜尋、Git、擴充套件的左側區域
  • Secondary Side Bar(次側邊欄):右側放 Variables、Plots 等的區域
  • Layout preset(版面預設):Stacked、Side-by-Side、Notebook 三種內建排列

可執行要點

📝 隨堂測驗(點選項作答)
在 Positron 開舊的 RStudio 專案,需要怎麼處理 .Rproj?
RStudio 的 Git 窗格,在 Positron 對應哪個 Activity Bar 圖示?
Positron 的專案專屬設定存在哪裡?
而且只有在你設定了專案專屬選項時才會建立。

換上熟悉的配色

從 RStudio 搬到 Positron · 第 4 單元
一句話總結

**用 Preferences: Color Theme 可以一邊移動一邊即時預覽配色,按 Enter 才套用;想要 RStudio 經典配色,就裝 Tomorrow Night Bright (R Classic) 擴充套件。**

你會學到
  • 怎麼即時預覽 Positron 的配色主題,確定了再套用
  • 想要 RStudio 經典配色時去哪裡找

內容筆記

熟悉的顏色很重要

配色熟悉,搬家的陌生感就少一大半。

  • 喜歡 RStudio 預設的編輯器配色:安裝 Tomorrow Night Bright (R Classic) 主題,第 6 單元(擴充套件)會教怎麼裝。
  • 其他情況:Positron 內建了幾十種主題可選。
馬上試

在 Command Palette 搜尋 Preferences: Color Theme,用方向鍵在清單上下移動。

成功的樣子:整個編輯器會隨著你移動即時換色,套用前就能先看到效果。選定後按 Enter。

(原課程此處附一段示範影片,內容就是上面這個操作。)

可執行要點

用 Air 自動排版程式碼

從 RStudio 搬到 Positron · 第 5 單元
一句話總結

Positron 內建 R 排版工具 Air,打開 editor.formatOnSave 之後,每次存檔程式碼就會自動排整齊。

你會學到
  • 用 Air 排版整個 R、Quarto 或 R Markdown 檔,或只排選取範圍
  • 打開「存檔時自動排版」,讓排版自動發生
開始前

需要會開啟與搜尋 Command Palette(第 1 單元)。

內容筆記

Air:內建的 R 排版工具

在 RStudio 裡,你可能手動調整格式,或用 styler 套件。Positron 直接內建 Air(https://posit-dev.github.io/air/),支援 .R、.qmd、.Rmd 三種檔案,不用另外安裝。

想做的事Command Palette 指令
排版整個檔案Format Document
只排版選取的程式碼Format Selection

建議:存檔時自動排版

課程建議打開 Format on Save,每次存檔都自動整理,連快捷鍵都不用記。

馬上試
  1. 在 Command Palette 搜尋 Preferences: Open Settings (UI),打開 editor.formatOnSave。
  2. 打開一個 R 檔,故意把空格弄亂,按 ⌘S 存檔。

成功的樣子:一存檔,Air 就把程式碼排整齊。

使用者設定 vs. 工作區設定

這個設定要套用到你所有專案(使用者設定),還是只套用到目前專案(工作區設定),可參考 Air 官方文件的說明。

關鍵詞

  • Air:Positron 內建的 R 程式碼排版工具,作用類似 styler
  • Format on Save:editor.formatOnSave,存檔時自動排版

可執行要點

📝 隨堂測驗(點選項作答)
Air 支援哪些檔案類型?
想讓每次存檔都自動排版,要開哪個設定?

用程式碼片段與擴充套件重複利用

從 RStudio 搬到 Positron · 第 6 單元
一句話總結

**Snippet 幫你插入現成的程式碼骨架,擴充套件市集比 RStudio addins 大得多,而大部分既有的 RStudio addins 也能用 R: Run RStudio Addin 直接在 Positron 執行。**

你會學到
  • 插入與自訂程式碼片段(snippet)
  • 尋找與安裝擴充套件,包括 RStudio 經典配色主題
  • 在 Positron 執行既有的 RStudio addin
開始前

需要會開啟與搜尋 Command Palette(第 1 單元)。

內容筆記

程式碼片段(Snippets)

Snippet 會插入常用寫法的現成範本。例如打 for 後選擇對應的 snippet,就會插入:

for (variable in vector) {
    # code to repeat
}

接著按 Tab 在 variable、vector、# code to repeat 三個佔位符之間跳。

在 R 檔打 for 之後跳出的自動完成清單,其中有一項是 for 迴圈的 snippet,可以選擇插入
在 R 檔打 for 之後跳出的自動完成清單,其中有一項是 for 迴圈的 snippet,可以選擇插入

Positron 內建 R 保留字的 snippet:if、while、for、function。

馬上試

在 R 檔打 for,從自動完成清單選 snippet,再按 Tab 逐一跳過佔位符。

成功的樣子:游標依序從 variable 跳到 vector,再跳到迴圈內容。

自訂 snippet:在 Command Palette 執行 Snippets: Configure Snippets。

格式不同

Positron 用 TextMate snippet 語法,和 RStudio 的格式不同。RStudio 預設 snippet 已經有人轉成 Positron 格式,放在 GitHub 上 posit-dev/ark 專案的 r.code-snippets 檔,可以直接參考。

擴充套件(Extensions)

擴充套件可以替 Positron 增加預設以外的功能,角色類似 RStudio addins,但市集大得多。

打開方式:點 Activity Bar 的 Extensions 圖示,或在 Command Palette 執行 Extensions: Focus on Extensions View,再用名稱或關鍵字搜尋。

R 使用者常用的擴充套件:

擴充套件用途
Tomorrow Night Bright (R Classic)移植到 Positron 的 RStudio 深色主題
Indent-Rainbow用顏色區分縮排層級
Rainbow CSV用顏色區分 CSV 欄位,方便編輯
GitHub Actions在 IDE 裡操作 GitHub Actions
GitLab WorkflowGitLab 支援
Project Manager快速切換專案
馬上試

執行 Extensions: Focus on Extensions View,搜尋「Tomorrow Night Bright (R Classic)」,按 Install。

成功的樣子:在 Preferences: Color Theme 裡可以選它,編輯器變成 RStudio 經典深色配色。想回到 Posit 預設配色,在清單捲到 Light 區選回即可。

擴充套件管理員的安裝流程:在 Activity Bar 點 Extensions 圖示,於左側搜尋框輸入名稱,點搜尋結果查看詳細頁,再按藍色 Install 按鈕安裝 Tomorrow Night Bright (R Classic)
擴充套件管理員的安裝流程:在 Activity Bar 點 Extensions 圖示,於左側搜尋框輸入名稱,點搜尋結果查看詳細頁,再按藍色 Install 按鈕安裝 Tomorrow Night Bright (R Classic)
  • 你也可以用 TypeScript/JavaScript 寫自己的擴充套件,能做到的事遠超過 RStudio addins。
  • 很多軟體公司提供免費擴充套件,讓你在 Positron 裡使用他們的服務,例如 SAS、Snowflake、Databricks、DuckDB。工作上有用到的軟體,可以先到市集搜尋看看。

執行既有的 RStudio addins

Positron 透過 rstudioapi 套件的相容層(shims)支援大部分 RStudio addins。在 Command Palette 執行 R: Run RStudio Addin 即可。例如裝了 reprex 套件後,就能從這裡啟動它的 addin 來製作可重現範例。

關鍵詞

  • Snippet(程式碼片段):打關鍵字就能插入的程式碼範本,用 Tab 在佔位符之間跳
  • TextMate snippet 語法:Positron(及 VS Code)的 snippet 格式,與 RStudio 不同
  • Extension(擴充套件):從市集安裝的外掛,功能類似但多於 RStudio addins
  • rstudioapi shims:讓 RStudio addins 能在 Positron 執行的相容層

可執行要點

📝 隨堂測驗(點選項作答)
插入 snippet 後,要怎麼在佔位符之間移動?
RStudio 的 snippet 檔可以直接複製到 Positron 用嗎?
想在 Positron 執行既有的 RStudio addin,要用哪個指令?

搞清楚和 RStudio 哪裡不一樣

從 RStudio 搬到 Positron · 第 7 單元
一句話總結

Positron 目前還缺三樣東西(重啟保留工作區、效能分析與套件開發窗格、點選式資料匯入),每樣都有替代做法;而它也多了 RStudio 做不到的六項能力。

你會學到
  • 哪些 RStudio 功能 Positron 還沒有,以及替代做法
  • Positron 有哪些 RStudio 沒有的能力

內容筆記

Positron 還沒有的(目前)

搬家要有信心,就要清楚知道邊界在哪,之後才不會被嚇到。如果下面任何一項是你工作流程的必需品,那項工作繼續用 RStudio 完全合理。

RStudio 有、Positron 還沒有替代做法
重新啟動時保留工作區狀態:Positron 每次都從乾淨的 session 開始,不會存回並重新載入靠腳本重建狀態
效能分析(profiling)與套件開發的專用窗格、按鈕底層工具仍可在 Console 與 Command Palette 使用
點選式資料匯入介面用 readr 或 readxl 寫程式匯入;進度在 GitHub(posit-dev/positron issue #5515)追蹤

Positron 能做、RStudio 做不到的

能力說明
多個 R 版本與多個 session同一個視窗就能切換不同 R 版本,同時開多個 R session
當掉可以單獨恢復session 當掉時開一個新的就好,不必重開整個 IDE
Python 也是一等公民資料科學支援與 R 同等,還能在同一個 session 同時跑 R 和 Python
內建 Data Explorer直接檢視資料框與 CSV、Parquet 等檔案,不用額外設定
大型擴充套件市集有 SAS、Snowflake、Databricks 等第三方工具
遠端 session在 Posit Workbench 上,介面留在本機,運算在遠端伺服器
找不到某個按鈕時

如果想念 RStudio 的某個按鈕或窗格,先到 Command Palette 找。Positron 幾乎所有動作都在那裡,而且你熟悉的快捷鍵通常也能用。

可執行要點

📝 隨堂測驗(點選項作答)
Positron 重新啟動後,原本 session 裡的物件會怎樣?
課程建議靠腳本重建狀態。
在 Positron 沒有點選式資料匯入介面時,課程建議怎麼做?
下列哪一項是 Positron 有、RStudio 沒有的能力?

課程總結

從 RStudio 搬到 Positron · 第 8 單元
一句話總結

搬家完成:用 Command Palette 找指令、沿用 RStudio 快捷鍵、版面與配色都調成熟悉的樣子、存檔自動排版,而且全都在你原本的專案裡做完。

你學到了
  • 用 Command Palette 找任何指令,不再翻按鈕或選單
  • 開啟 RStudio 快捷鍵,肌肉記憶照常可用
  • 不靠 .Rproj 打開既有專案,並把版面、配色調成熟悉的樣子
  • 用 Air 自動排版,用 snippet、擴充套件與 RStudio addins 重複利用程式碼
  • 知道 Positron 還缺哪些 RStudio 功能,以及多了哪些 RStudio 沒有的能力

內容筆記

你完成了什麼

你已經把「家」重新布置好了:Command Palette 是你的萬用入口,鍵盤肌肉記憶帶過來了,版面和配色都很熟悉,程式碼存檔時還會自動排好。這些都是在你本來就在做的專案裡完成的,這就是你之後的工作環境。

下一步可以深入的主題

  • 在 Positron 裡使用 R
  • Quarto 文件
  • Data Explorer
  • Command Palette

可執行要點

由 Course2Notes 自動生成 · 內容為使用者自有課程的個人學習筆記