有没有办法让Xcode自动对齐变量名称,就像Apple的示例代码一样?

时间:2012-05-28 13:14:10

标签: xcode

除了类型规范/通用代码缩进之外,Apple的示例项目通常会将变量名称对齐:

  NSUInteger        level;
  double            fadeSpeed;
  CGPoint           ballPosition;
  int               keyOffset;

相反:

  NSUInteger level;
  double fadeSpeed;
  CGPoint ballPosition;
  int keyOffset;

是否有实现这一目标的捷径? (我不知道它会被称为什么,否则我可以搜索文档。)

4 个答案:

答案 0 :(得分:3)

听起来你正在寻找Uncrustify。我自己并没有在愤怒中使用它,但功能列表似乎包含了您的要求:

  

功能

     
      
  • 识别代码,对齐parens,作业等
  •   
  • 对齐' ='和变量定义
  •   
  • 对齐结构初始化程序
  •   
  • 对齐#define stuff
  •   
  • 对齐反斜杠 - 换行符
  •   
  • 重新格式化评论(一点点)
  •   
  • 修复字符间距
  •   
  • 在退货声明中添加或删除parens
  •   
  • 如果/ do / while / for statements
  • ,则在单个语句上添加或删除大括号   
  • 支持嵌入式SQL' EXEC SQL'东西
  •   
  • 高度可配置 - 版本0.59
  • 的412个可配置选项   

答案 1 :(得分:1)

流行的漂亮打印机uncrustify至少有十几个不同的变量对齐参数,您可以在其配置文件中指定这些参数。 Tony Arnold的项目向您展示了如何将uncrustify用作automator service(这意味着您可以从Xcode或任何其他编辑器访问它)。 Robert Payne建议您using it from a shell script可以将其纳入构建过程。

我的猜测是Apple在发布之前通过uncrustify或其他漂亮的打印机运行其示例,以便它们都使用通用样式进行格式化。如果你想要完全重现Apple的风格,可能需要一些摆弄,但至少应该很容易让你的变量声明符合你想要的方式。我玩了所有选项已经有一段时间了,但我首先要查看align_var_def_spanalign_var_def_threshalign_var_def_gap设置。

答案 2 :(得分:0)

我不知道是否已有快捷方式,但您可以创建一个接受大字符串作为输入(变量)的程序,输出将是此对齐版本。编写这个程序不应该导致太多问题。

答案 3 :(得分:0)

Xcode中没有内置函数可以自动执行此操作,但您可以轻松地将变量名称与 tab 对齐。您必须在多次键入后按 tab 并对齐相同的宽度。