Misp
Misp(Methodox Interactive Spy)是 SteelPython 隨附的 IDE:一個多檔案 Python 編輯器,帶有偵錯程式、工作區資源管理器,以及虛擬環境和包的管理功能。它是一個小巧、快速的桌面程式;開始使用前無需進行任何配置。

啟動
從 SteelPython 的資料夾執行 Misp.exe。若要直接開啟某個內容,請在命令列中傳入:Misp.exe C:\Projects\inventory 會將一個資料夾作為工作區開啟,Misp.exe script.py 會開啟一個檔案。Misp 會記住上一個工作區、最近開啟的檔案和你的主題。
視窗左側是 Explorer(資源管理器,顯示工作區資料夾),中間是編輯器(每個檔案一個標籤頁),下方是 Output 和 Debug 面板。
編輯
編輯器會高亮 Python 語法,在你輸入時自動縮排,並支援尋找和替換、轉到行、註解所選行,以及單詞補全(關鍵字、內建名稱和檔案中的名稱)。
| 按鍵 | 功能 |
|---|---|
Ctrl+N / Ctrl+O / Ctrl+Shift+O |
新建檔案 / 開啟檔案 / 將資料夾作為工作區開啟 |
Ctrl+S / Ctrl+Shift+S / Ctrl+W |
儲存 / 另存為 / 關閉檔案 |
Ctrl+F / Ctrl+H / Ctrl+G |
尋找 / 替換 / 轉到行 |
Ctrl+/ |
註解或取消註解所選行 |
Ctrl+Space |
補全單詞 |
Ctrl+Shift+E / Ctrl+J / Ctrl+Shift+P |
顯示資源管理器 / 輸出和除錯面板 / 包面板 |
執行
Ctrl+F5 會在不使用偵錯程式的情況下執行目前檔案。Misp 會先儲存你開啟的檔案,然後在工作區資料夾中,用工具列中選定的直譯器執行該檔案。程式列印的內容會顯示在 Output 面板中;該面板底部的輸入行會把輸入傳送給程式,因此 input() 可以正常使用。Shift+F5 可以隨時停止程式,即使程式卡在迴圈中也可以。
除錯
| 按鍵 | 功能 |
|---|---|
F9 |
在目前行切換斷點(或按一下邊距) |
F5 |
開始除錯;暫停時繼續執行 |
F10 / F11 / Shift+F11 |
單步跳過 / 單步進入 / 單步跳出 |
F6 |
在程式執行到的任何位置暫停它 |
Shift+F5 / Ctrl+Shift+F5 |
停止 / 重新啟動 |
Run > Conditional Breakpoint... 會設定一個僅在某個 Python 表示式為真時才暫停的斷點,例如 item.quantity > 1000。工具列中的 Stop on entry 會讓程式啟動後暫停在第一行;在沒有程式執行時按 F10 或 F11 也是如此。
程式暫停時,目前行會被高亮,Debug 面板會顯示:
- 呼叫堆疊——選擇一個幀即可檢視其原始碼和變數;
- 所選幀的變數,包括區域變數和全域變數,可以展開檢視列表、字典和物件的內容;
- 監視表示式,可以是任意 Python 表示式,每次程式暫停時都會在所選幀中求值。
沒有被任何程式碼捕獲的異常會在列印回溯之後,讓程式停在引發異常的幀中,這樣你仍然可以檢視導致異常的變數。繼續執行即可結束程式。
直譯器與虛擬環境
工具列中的 Interpreter 框列出 Misp 隨附的 SteelPython,以及工作區資料夾中的虛擬環境(.venv、venv,或任何包含 pyvenv.cfg 的資料夾)。Misp 會為每個工作區記住所做的選擇。
- + venv(或
Environment > Create Virtual Environment...)會在工作區中建立一個環境並選中它。 - Packages(
Ctrl+Shift+P)列出所選直譯器的包,並用 pip 安裝、升級和解除安裝它們,同時顯示 pip 工作時的輸出。對於沒有 pip 的環境,會提供ensurepip來安裝 pip。 Environment > Open SteelPython REPL會在主控台視窗中開啟所選直譯器的互動式提示符。
關於 pip 和 venv 的作用,請參閱 包與環境。
Misp 將內容儲存在哪裡
你的設定(主題、上一個工作區、最近開啟的檔案、每個工作區的直譯器)儲存在 %APPDATA%\SteelPython\Misp\settings.json 中。程式總是在單獨的 spy 程序中執行,因此崩潰或掛起的程式永遠不會連帶 Misp 一起出問題。