PyScripter - 使用 PythonTidy 外部命令進行排版
上篇文Python – 關於縮排 indent 兩三事」提到,python 程式碼相當注重 indent 的觀念,希望透過這樣的方式讓每位程式設計師都能夠寫出可讀性高的程式碼。
但是 indent level 、空白個數、換行行數等等這些問題,reindent 可能就沒有辦法處理,讓程式碼有一致性的排版。
而 PythonTidy 就是專門幫助排版的工具,透過相同設定檔就就可排出一致且美觀的程式碼囉…
前置準備:
1. 首先,下載 PythonTidy 官方網站: http://pypi.python.org/pypi/PythonTidy/
2. 目前 PythonTidy 版本是 1.22 可以透過以下網址下載: http://lacusveris.com/PythonTidy/PythonTidy-1.22.python
3. PythonTidy-1.22.python 另存檔名 PythonTidy-1.22.py,儲存在 c:\Python26\Tools\Scripts\ 路徑下 (依照主要 python 目錄放置)
設定 PyScripter:
4. 首先開啟 Pyscripter –> Tools –> Configure Tools
5. 此時會跳出 Configure Tools 視窗,那些是目前 PyScripter 幫我們預先安裝的外部命令。
PythonTidy 是我們額外安裝,現在我們按下 Add 進行新增
6. 此時會跳出 External Tools Properties 視窗,我們依序建立以下設定:
(1) Application: $[PythonExe-Short] ( $[PythonDir-Short] 就是 python.exe 位置,因為艾小克是載入 PyScripter 2.6 所以,所以會指向 c:\Python26\python.exe )
(2) Parameters: $[PythonDir-Short]Tools\Scripts\PythonTidy-1.22.py (pythonTidy 實際位置,$[PythonDir-Short] 是 python 主要目錄,這邊指的是 c:\Python26\ )
(3) Shortcuts: 快速鍵 (請依照自己的習慣設定)
(4) context: (針對哪一種狀態進行作用, 我們只針對 Active Python file 就是作用中的 python 檔案)
(5) Std. Input: ActiveFile (輸入的內容,針對作用中的 python 檔案)
(6) Std. Output: ActiveFile (輸出的內容 : 經過 PythonTidy 後的程式碼或是錯誤訊息,回存到作用中的 python 檔案)
(7) Capture output : 勾選 (補捉 PythonTidy 後的程式碼或是錯誤訊息)
(8) 最後按下 OK 就設定完成囉…
7. 測試一下, 以下是艾小克寫的程式碼,稍微弄亂了一下:
8. 經過 PythonTidy 後的程式碼:
9. 如果你不喜歡 PythonTidy 預設的排版,你可以修改設定值,在 PythonTidy-1.22.py 的 307 行 – 340 行:
例如:
(1) COL_LIMIT = 72 指的是最大寬度 72
(2) IDENTATION = ‘ ’表示縮排是四個空白
(3) ASSIGNMENT ‘ = ’表示指定敘述 = 前後要各一個空白
以下各位朋友可以自行研究,設定適合團隊的 Style 並且分享出來…