前言
無論是 MCU 還是 MPU 開發,都需要編譯工具來管理建置流程。像是 NXP 的 S32DS IDE 或 Linux 專案會用到的 Make 就是常見的建置工具。Make 雖然簡單高效,但隨著專案複雜度增加,其限制也越來越明顯。
因此,許多開發者開始選擇更靈活的工具,SCons 就是其中之一。SCons 基於 Python,不僅保有 Make 的優點,還能自動處理依賴、跨平台支援,並且讓建置腳本更具擴展性,成為現代開發環境中強大的選擇。
在系列文章 【JW's Docs - SCons 入門】:快速建立自動化建置系統 中,我們已經展示了 SCons 的各項優勢及實際操作。然而,對於大多數人來說,透過終端機輸入指令的方式可能不夠直觀。因此,本篇將介紹如何通過 VS Code 更加友好地運行 SCons 建置系統,提升使用體驗與工作效率。
內容
1. 安裝
- Visual Studio Code 安裝流程
- Python 安裝流程
- Windows 設定 Python 路徑
- Visual Studio Code 安裝 Python 套件
- Visual Studio Code 設定 Python Virtual Environment
2. 實際測試
為了開發方便,會建立一個 Python 的 Virutal Environment,可以獨立每個專案的開發環境
- 開啟 VS Code 並選擇一個開發用資料夾

- 開啟資料夾後

Ctrl + Shift + P,輸入Python: Create Environment( 請先安裝 VS Code Python 套件 )

- 使用 Venv 並選擇已安裝的 Python ( 如果不止安裝一個版本,Venv 就有多個 Python 版本可以選擇使用 )



- 等環境建立完成後,可以用
Ctrl + Shift + `開啟終端機,輸入pip --version檢查是否在.venv下

- 安裝 Scons,
pip install scons

- 建立
hello.cc
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, SCons!" << endl;
return 0;
}
- 建立
SConstructenv['ENV']['PATH']- 指定 Compiler 的路徑env['CC']- 指定 Compilerenv['CXXCOM']- 指定編譯的格式env['OBJSUFFIX']- 指定產生檔案的副檔名
from SCons.Script import Environment
env = Environment()
env['ENV']['PATH'] = r"C:\cygwin64\bin"
env['CC'] = r"g++.exe"
env['CXXCOM'] = "$CC -o $TARGET $SOURCE"
env['OBJSUFFIX'] = ".exe"
env.Object('hello.cc')
- 執行 SCons,
Ctrl + Shift + `呼叫終端機並輸入scons

- 測試結果,
./hello.exe

結論
SCons 作為一個基於 Python 的現代建置系統,不僅簡化了建置過程,還提供了靈活性和強大的自動化功能。從本文來看,VS Code 整合 SCons,不僅用於編譯 C++ 項目,還用於建立和管理 Python 虛擬環境(venv)。這種整合使得開發過程更加高效和一致化,編譯和環境設置得以自動化,大大簡化了工作流程,進一步提升了開發效率。