通过建立 Uncrustify 服务实现在OS X下代码的标准化

因为最近在 Xcode 下面编程,写完以后格式混乱,希望找一个标准化的插件。
由于Xcode 版本高,是8.2.1,导致 ClangFormat 一系列插件都不能使用。所以只能使用 Uncrustify 添加服务的方法。

  1. 安装 Uncrustify
    可以通过 github 下载编译,也可以用 brew 安装:
$ git clone https://github.com/uncrustify/uncrustify.git
$ cd uncrustify.git
$ mkdir build
$ cd build
$ cmake ..
$ cmake --build .
$ mv uncrustify /usr/local/bin/
brew install uncrustify
  1. 找到合适的配置文件
    我找到了一个配置文件,是Google C++风格的配置文件。下载后放在合适的位置。比如我放到了~/configs下面,重命名为uncrustify_c_cpp.cfg

  2. 制作服务

    • 打开 Automator,新建文稿,选择服务。


      通过建立 Uncrustify 服务实现在OS X下代码的标准化_第1张图片
      Automator
  • 选中“用输出内容替换所选文本”


    通过建立 Uncrustify 服务实现在OS X下代码的标准化_第2张图片
    选中“用输出内容替换所选文本”
  • 在资源库中选择“文本”,添加“获得指定文本”,并在文本框中添加测试用的代码。


    通过建立 Uncrustify 服务实现在OS X下代码的标准化_第3张图片
    添加操作“获得指定文本”
  • 在资源库中选择“实用工具”,添加“运行 Shell 脚本”,并在文本框中添加:
/usr/local/bin/uncrustify -c ~/configs/uncrustify_c_cpp.cfg -l CPP
通过建立 Uncrustify 服务实现在OS X下代码的标准化_第4张图片
添加操作“运行 Shell 脚本”
  • 点击窗口右上角的“运行”,然后查看“运行 Shell 脚本”的结果。


    通过建立 Uncrustify 服务实现在OS X下代码的标准化_第5张图片
    运行后查看“运行 Shell 脚本”的结果

    结果正常的话,删除第一个操作“获得指定的文本”,并保存退出。

  • 这时在文本框中选中代码,并右键选择服务,就可以看到新创建的“服务”了


    通过建立 Uncrustify 服务实现在OS X下代码的标准化_第6张图片
    在右键菜单中选择服务
  1. 可以在~/Library/Services/中找到并删除“服务”。
    通过建立 Uncrustify 服务实现在OS X下代码的标准化_第7张图片
    可以在`~/Library/Services/`中找到
  2. 在“键盘”、“快捷键”、“服务”下面,可以给新建立的服务添加快捷键。我最后选择的快捷键是“Command+Shift+H”。


    通过建立 Uncrustify 服务实现在OS X下代码的标准化_第8张图片
    添加快捷键

你可能感兴趣的:(通过建立 Uncrustify 服务实现在OS X下代码的标准化)