【Python API】運用 VS Code 編輯器遠端開發與除錯 Sim4Life Python 腳本: 連線設定與環境配置教學

【Python API】運用 VS Code 編輯器遠端開發與除錯 Sim4Life Python 腳本: 連線設定與環境配置教學

在進行複雜的生醫或通訊電磁模擬時,腳本編寫的品質與開發效率至關重要。Sim4Life 內建的編輯器雖能執行基本任務,但面對大型專案或複雜的 Python API 自動化需求,往往需要更專業的工具支援。透過 Sim4Life Remote 擴充套件,開發者能將 Visual Studio Code (VS Code) 的專業功能(如: 智慧提示、版本控制、進階除錯)無縫整合至 Sim4Life 的 Python 腳本開發環境中,實現在 VS Code 中即時撰寫腳本、在 Sim4Life 中即時驅動模擬的高效工作流。

 

以下是 VS Code 連線至 Sim4Life 的設置步驟:

 

1. 到 https://code.visualstudio.com/ 網站下載 VS Code 編輯器

 

2. 開啟 VS Code,按下延伸模組欄位右上方的…,選擇 "從 VSIX 安裝…

 

 

3. 在 Sim4Life 安裝文件夾路徑(C:\Program Files\Sim4Life_9.0.0.18809\Python\s4l_remote\v0.3.3) 選擇 s4l-remote-0.3.3.vsix 檔案

 

 

4. 安裝完成後 S4L Scripting 模組即顯示在 VS Code 擴充插件欄位中

 

 

5. 開啟 Sim4Life 介面,啟動 VS Code 遠端連線: 在 Console 視窗選取上方的 Remote Attach 按鈕

 

 

6. 開啟自動載入檔案設定: 為了讓腳本的修改能即時同步,請在 Sim4Life Preferences 的設定中(File | Preferences | Python Options)選取 Editor Automatic Reload Files 後按下 Ok

 

7. 編輯器配置與環境同步

為了讓 VS Code 的 IntelliSense 正常運作,我們必須讓 VS Code 的 Python 直譯器路徑與 Sim4Life 內部使用的環境保持一致

 

(1) 取得路徑: 

在 VS Code 介面的搜尋欄位輸入 >S4L: 以顯示可用的 S4L 指令,選擇 S4L: Get Python Path 獲取當前 Sim4Life 版本使用的 python.exe 執行檔路徑

 

(2) 設定直譯器:

接著執行 VS Code 內建命令 Python: Select Interpreter,並貼上剛剛取得的 Sim4Life Python 路徑

 

(3) 識別當前連線:

i. 在 VS Code 視窗的搜尋欄位選擇 S4L: Identify 指令,成功連線後 VS Code 視窗右下角會出現成功連線的訊息

 

ii. 系統會在目前已連線的 Sim4Life 的 Console 視窗會顯示訊息: Remote Python Server was contacted

 

核心功能與指令操作整理


1. 開啟當前腳本

若要在 VS Code 中快速開啟目前 Sim4Life 內正在編輯的腳本,請執行 S4L: Open Current Script 指令

 

2. 程式碼執行與除錯 

可直接在 VS Code 中利用除錯工具來排查 Sim4Life 腳本中的錯誤,大幅提升開發效率

  • 執行腳本: 使用指令 S4L: Run Python Script
  • 除錯腳本: 使用指令 S4L: Debug Python Script

 

備註: 預設情況下,這些指令會執行「Sim4Life 中目前啟用的檔案」。若希望改為執行「VS Code 中目前啟用的檔案」,請參考底下 "6. 進階配置" 說明。

 

3. 除錯期間的 UI 畫面更新

當在 VS Code 中進行除錯(例如: 設置中斷點)時,Sim4Life 的 UI 畫面會因為正在執行 Python 程式碼而進入凍結狀態

  • 檢視 3D 視窗/模擬樹(Simulation Tree): 執行命令 S4L: Update UI Interactively,這會將控制權暫時交還給 Sim4Life 介面,以便即時檢查 3D 視窗或模擬樹(Simulation Tree)的狀態
  • 恢復除錯: 檢查完畢後,點擊 Sim4Life 左下角的通知提示,即可結束互動更新並將控制權交還給 VS Code 除錯器(debugger)

 

4. 多重視窗管理(Multiple Instances) 

若同時開啟了多個 Sim4Life 專案視窗,除了前面介紹的識別當前連線指令 S4L: Identify 外,擴充套件還內建了安全保護機制

  • 安全鎖定機制: 為避免在錯誤的視窗中誤觸發腳本(例如: 意外執行了 document.NewDocument() 清空專案),偵測到多個實體時會預設拒絕執行
  • 解除鎖定: 若確認安全無虞並希望強制執行,可修改設定檔中的 s4l_remote.allow_run_if_many_s4ltrue

 

5. Python 套件管理

可直接從 VS Code 管理 Sim4Life 環境下的 Python 擴充套件:

  • S4L: List Python Packages (列出已安裝套件) 
  • S4L: Install Python Packages (安裝新套件)
  • S4L: Uninstall Python Packages (解除安裝套件)

 

6. 進階配置

可透過修改 VS Code 的 settings.json 或設定面板來微調擴充套件的行為

 

設定項目與用途說明

(1) s4l_remote.application_defining_current_script

決定執行指令時,是以 Sim4Life 還是 VS Code 目前啟用的檔案為準

• 如果選擇以 VS Code 為準,必須同時在 Sim4Life 中開啟任意腳本執行權限(在 File | Preferences | Python Options | VS Code Options 勾選 Enable arbitrary script execution)
 

(2) s4l_remote.auto_update_ui_during_debug

[實驗性功能] 決定是否在除錯期間自動更新 Sim4Life 的 UI 介面

 

(3) s4l_remote.extension_port

設定通訊使用的通訊埠(Port) 

• 此設定必須與 Sim4Life 內部的設定完全一致(File | Preferences | Python Options | VS Code)

• 一般情況下建議保持預設值,無需修改

 

S4L Scripting 擴充套件的 Settings 視窗

 

CONTACT US
如果您對我們的產品服務有興趣,歡迎直接與我們聯繫 !
產品介紹 最新消息 聯絡我們

依據歐盟施行的個人資料保護法,我們致力於保護您的個人資料並提供您對個人資料的掌握。
按一下「全部接受」,代表您允許我們置放 Cookie 來提升您在本網站上的使用體驗、協助我們分析網站效能和使用狀況,以及讓我們投放相關聯的行銷內容。您可以在下方管理 Cookie 設定。 按一下「同意」即代表您同意採用目前的設定,更多資訊請瀏覽 隱私權聲明

此網站使用了Cookies

依據歐盟施行的個人資料保護法,我們致力於保護您的個人資料並提供您對個人資料的掌握。按一下「同意」,代表您允許我們置放 Cookie 來提升您在本網站上的使用體驗、協助我們分析網站效能和使用狀況,以及讓我們投放相關聯的行銷內容。

按一下「僅必需的」,代表您只允許我們置放必要的 Cookie。網站運行離不開這些 Cookie 且您不能在系統中將其關閉。通常僅根據您所做出的操作(即服務請求)來設置這些 Cookie,如設置隱私偏好、登錄或填充表格。您可以將您的瀏覽器設置為阻止或向您提示這些 Cookie,但可能會導致某些網站功能無法工作。

關於Cookie 谷歌隱私權政策