http://blog.163.com/chou_ke/blog/static/103413720077136349866/
UE編輯器一直是我編程和編輯文本的好幫手,對它映像最深刻的功能就是列模式編輯功能,確實給我的工作帶來不少的便利,但作為編程工具沒有格式化源 代碼的功能能似乎使UE美中不足,可是事實並非如此,UE提供的兩個開源命令列工具就可以很好地完成當下流行的幾款程式設計語言源碼的格式化工作。
在UE內可以對XML、Java、C/C++、C#源碼檔案進行格式化操作,這個功能比較隱蔽所以一般使用者可能沒有注意到。這些源碼的格式化功能是通過兩 個開源命令列工具來實現的,它們是:
XMLlint————開源XML檔案命令列解析器
AStyle—————開源源碼格式化命 令行工具,現在已經支援的語言有Java、C/C++ 和 C#。
以下是使用這兩個工具擴充UE編輯器使其具有進行源碼格式化功能的方法及一般 配置:
首先,假設上UE的安裝目錄是 "C:\Program Files\IDM Computer Solutions\UltraEdit-32\" (下文提到的UE路徑請根據實際情況進行修改)。
XML檔案的格式化方法如下:
1、開啟需要格式化的XML檔案,單擊 Format-->XMLlint Tool 功能表項目,在彈出的對話方塊中鉤選
2、"Reformat and reindent the output,where indentaion is: " 這一項,然後單擊 "Parse" 按鈕,此時格式化後的結果將出現在Outpu視窗,如果需要獲得格式化後的文本,可以在Output視窗上單擊右鍵選擇 "Copy To Clipboard" 功能表項目將文本複製到剪貼簿上以供其他程式處理;
如果需要對UE開啟的當前XML檔案進行格式化且 直接把結果輸出到當前檔案,那麼可以這樣:
1、單擊 Advanced-->Tool Configuration 功能表項目,在彈出的對話方塊內單擊 "Insert" 按鈕,然後在 "Menu Item Name" 一欄輸入命令菜單的名稱(例如:"格式化XML檔案"),接著在 "Command Line" 一欄輸入以下命令:
"C:\Progra~1\IDMCom~1\UltraEdit-32\GNU\XMLlint.exe --format --output %f %f"
在Output頁簽內將 "Capture Output" 選項的鉤去掉,最後單擊"確定"按鈕完成配置。
2、現在,如果你想格式化開啟的XML檔案那麼只要在 “Advanced” 菜單下選擇 ”格式化XML檔案” 功能表項目即可。
Java、C/C++、C#源碼檔案格式化方法如下:
1、配置與XML格式化的配置類似,只是在 “Tool Configuration” 對話方塊內的 “Command Line” 一欄所輸入的命令不同。
Java源碼使用以下命令列:
“C:\Progra~1\IDMCom~1\UltraEdit-32\GNU\astyle.exe --style=ansi --mode=java %f”
C/C++源碼使用以下命令列:
“C:\Progra~1\IDMCom~1\UltraEdit-32\GNU\astyle.exe --style=ansi --mode=c %f”
C#源碼使用以下命令列:
“C:\Progra~1\IDMCom~1\UltraEdit-32\GNU\astyle.exe --style=ansi --mode=cs %f”
請記住在Output頁簽內將 "Capture Output" 選項的鉤去掉,最後單擊"確定"按鈕完成配置。
注意:要格式化的檔案的路徑中不能包含空格或中文,這個問題我還沒解決。
2、現在,你只要選擇相應的格式化功能表項目即可對開啟的檔案進行格式化了!
以上AStyle的配置只使用了這個命令列的一般選項,其實這個工具還有許多其他格式化選項,你可以查看它的協助文檔瞭解其他選項開關的用法(UE並沒有 附帶協助文檔,需要登入http://astyle.sourceforge.net/ 下 載其源碼壓縮包,這個包內才有)。
XMLlint的格式化XML檔案功能並不是它的主要功能,它其實是一個XML解析器(具體有什麼功能我還沒用過所以說不上,呵呵...),有關它的說明 可以瀏覽http://xmlsoft.org/ 瞭解相關內容。