当前位置:  开发笔记 > 编程语言 > 正文

是否可以自定义XCode的缩进样式?

如何解决《是否可以自定义XCode的缩进样式?》经验,为你挑选了4个好方法。

例如,我不想在C++代码中缩进名称空间,但是prefpane似乎没有任何地方可以决定这种粒度.有一些隐藏的配置文件或什么?或者我只是运气不好?



1> Naaff..:

Apple的XCode文档包含用户首选项的完整列表,其中许多没有相应的UI.我没有看到任何特定于命名空间的内容,所以我认为你可能会失败.

但是,我认为如果它有用,我会传递首选项列表.


伙计,链接坏了:(

2> Tom Swirly..:

我也尝试过这样做.

答案是,无论谁在XCode中格式化代码似乎是完全不知道有其他语言比目标C,比苹果的其他编码风格.

这是一个人们希望在XCode中无法完成的事情列表.

    缩进公共:或私人:只有一个空间.

    缩进命名空间零空间.

    参数的替代缩进不是相对于左括号.

最后一个需要一点讨论.有时,函数或方法名称可能很长,以及它的第一个参数,所以你也希望能够像这样缩进:

someExcitingClass->AVeryLongMethodNameTraLaLaLaLa(
    someLongExpressionOrVariableNameGoesHere,
    anotherNameHere);

当然,您可能希望提取子表达式以使线条更短,但在实际代码中,这一直出现,并且创建子表达式以使所有内容适合合理的线长度是令人讨厌的.

这是一个可怕的耻辱,我真的不知道该怎么做.我个人用emacs写作,只是作为一个构建系统进入XCode,但是:-并不适合所有人.



3> 小智..:

由于Xcode压头仅使用词法分析器,而不使用AST,因此可以通过定义花括号来"欺骗"格式.

我有:

#define NAMESPACE_OPEN(_name) namespace _name {
#define NAMESPACE_CLOSE(_name) }

#define dsmsg_namespace_open NAMESPACE_OPEN(dsmsg)
#define dsmsg_namespace_close NAMESPACE_CLOSE(dsmsg)

即,一个通用的'NAMESPACE_OPEN/CLOSE'定义,以及一个特定于我最常用的命名空间'dsmsg'的定义.然后,每当我想打开命名空间时,我都会使用

dsmsg_namespace_open

... code ...

dsmsg_namespace_close

丑陋的黑客,但我非常喜欢有一个特定的,名为'close'



4> mmc..:

我完全绕过了Xcode的缩进,并且有一个用户脚本在当前显示的文档上调用uncrustify。

#!/bin/sh
#echo -n "%%%{PBXSelection}%%%"
uncrustify -q -c ~/.uncrustify/sample.cfg -l oc+
#echo -n "%%%{PBXSelection}%%%"

笔记:

难解之谜必须在您的PATH中

您可能需要调整配置文件的位置

如果要在Xcode中选择新代码,请取消注释两个echo语句(也可以用于创建“格式选择”脚本,而不是“全部格式化”脚本)

脚本设置:

输入:整个文件

目录:主目录

输出:替换文档内容

错误:显示在警报中

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有