使用UltraEdit32编辑器格式化源码功能 XML、Java、C/C++、C#

From: http://www.cnblogs.com/zcy_soft/archive/2011/01/18/1938509.html


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/ 了解相关内容。


你可能感兴趣的:(java,xml,C#,command,工具,output)