本文回應三個相關問題:如何美化程式碼?如何統一對齊和縮排程式碼?如何將程式碼進行漂亮列印(Pretty-print)?

原始碼美化工具簡介

原始碼美化工具(Source Code Beautifier)於 Genero 3.20 版本引入,也稱為「程式碼格式化工具(Code Formatter)」或「漂亮列印工具(Prettyprint)」。此工具可確保團隊成員之間的程式碼格式一致,Genero Studio 同時支援 Genero 原始碼及多種檔案類型(如 XML、JSON 等)的格式化。底層功能透過 fglcomp 命令列工具執行。

主要功能

美化工具解決以下幾類格式問題:

  • 縮排:清楚地呈現巢狀程式碼區塊的結構,讓控制流程一目瞭然。
  • 大小寫一致性:關鍵字統一格式(通常為大寫),提升可讀性。
  • 換行處理:將過長的程式碼行拆分成適當長度。
  • 空白字元標準化:確保空格與 Tab 的使用方式一致。

縮排效果示例

未縮排的程式碼(難以閱讀):

WHILE TRUE
LET x = x + 1
IF flag IS NOT NULL THEN
IF x < 0 THEN
EXIT WHILE
END IF
END IF
END WHILE

經過美化後的程式碼(結構清晰):

WHILE TRUE
    LET x = x + 1
    IF flag IS NOT NULL THEN
        IF x < 0 THEN
            EXIT WHILE
        END IF
    END IF
END WHILE

在 Genero Studio 中使用

在 Genero Studio 中,格式化功能位於 Edit 選單的「Format and Indent」項目,並設有快捷鍵。也可以在「Projects View」或「File Browser View」中按右鍵存取。

格式化偏好設定位於:
Preferences → Code Editor → Behaviour & Display → Language: "Genero BDL" → Code Beautifier 頁籤。

命令列使用方式

基本語法:

fglcomp --format [ format-option [...] ]

工具會自動搜尋 .fgl-format 設定檔,也可以使用 --fo-fallback-style=filename 參數指定自訂格式規則檔案。

Vim 整合

文件中提供了在 Vim 中整合美化工具的步驟,可設定為儲存時自動格式化,或按需手動觸發。

注意事項與進階用法

  • 美化工具要求程式碼必須能夠正常編譯,無語法錯誤才能執行格式化。
  • 可使用特殊註解排除不希望被格式化的程式碼區段:-- fgl-format off-- fgl-format on
  • XML 檔案(.4ad.4st.4tb.4tm)和 JSON 檔案也支援在 Studio 中進行格式化。
原文:https://4js.com/ask-reuben/ig-155/  ·  有任何 Genero 技術問題或翻譯疑問,歡迎來信 support@t100.app