使用 PlatformIO CLI 協助工作流程

codemee - Mar 15 - - Dev Community

PlatformIO 的工作方式是當成一個外掛, 所以不論你是從哪裡開啟 VSCode, 都可以使用 PlatformIO。不過這和我的使用習慣不一樣, 我已經很習慣從專案資料夾開啟 VSCode, 也就是在 VSCode 左側的檔案總管中只會有專案的內容, 不會不小心改到其它專案的檔案。

為了維持這樣的工作流程, 我原本期望可以在建立新專案的時候, 先建立專案的資料夾, 從專案資料夾中開啟 VSCode, 在 VSCode 內執行把資料夾設定成 PlatformIO 專案的命令。可惜的是, PlatformIO 並沒有這樣的命令, 只有在它的命令列介面才有, 因此以下就記錄如何使用 PlatformIO 的命令列介面來協助建立這樣的工作流。

安裝命令列介面的工具

PlatformIO 在安裝時就已經把命令列介面的工具程式都安裝好了, 如果你在 VSCode 的 PlatformIO Quick Access 側邊欄中執行 New Terminal 命令, 它會先幫你設定好 PATH 環境變數, 就可以直接在終端機中下指令。

不過我的需求是要在開啟 VSCode 之前在終端機中執行命令, 所以必須自行設定 PATH 環境變數, PlatformIO 的命令列工具是使用 Python 撰寫, 放在專屬的虛擬環境中, 位置在:

%USERPROFILE%\.platformio\penv\Scripts
Enter fullscreen mode Exit fullscreen mode

設定好環境變數後, 就可以直接下命令, pio 是主要的命令。

顯示支援的控制板

以下命令可以顯示所有支援的控制板名稱:

pio boards
Enter fullscreen mode Exit fullscreen mode

不過這樣會列出一大堆名稱, 你可以加上部分文字篩選控制板:

pio boards esp32s3
Enter fullscreen mode Exit fullscreen mode

這樣就只會列出名稱中包含有 "esp32s3" 字樣的控制板。

建立新專案

知道控制板的名稱後, 就可以建立資料夾, 並切換到新資料夾後執行指令設定專案的初值, 例如以下就設定一個使用 Espressif ESP32-S3-DevKitC 控制板的專案:

pio project init --board esp32-s3-devkitc-1 
Enter fullscreen mode Exit fullscreen mode

加入程式檔

設定好專案資料夾後, 就可以從該資料夾開啟 VSCode, VSCode 會根據該資料夾的 platformio.ini 檔判斷這是 PlatformIO 專案, 自動啟用外掛。要注意的是, 命令列工具不會幫你建立主程式檔, 所以你要自己在 src 資料夾下建立 main.cpp 檔。

完成這些步驟後, 你就可以在 VSCode 中以圖形介面的工具完成專案的開發了。

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player