从
Xcode Docs:
Syntax highlighting, code completion, and every other index-driven
feature is handled by the LLVM parser. If the compiler knows about a
symbol, so does the Xcode IDE.
但是,当在预处理器指令中编写代码时,这些“索引驱动的功能”都不适用于我.有人有解决方案吗?
例子:
在打开未使用参数警告的情况下,即使使用了所述参数,也会生成大量警告.此特定屏幕截图中的代码来自Apples Reachability.m,未经修改.请注意,此处也不存在语法突出显示:
在#if中正确完成:
但是,在#else中完成不正确:
它一半使用局部变量:
但是当调用在当前方法范围之外声明的东西时再次中断:
Another example
Another example
任何人都可以告诉我如何(或者甚至)如何解决这个问题?
最佳答案 XCode实际上评估预处理器指令的条件,并且只对当前真实条件内的代码进行突出显示/完成.例如
语法高亮,自动完成和警告(在这种情况下为未使用的变量警告)在不真实的情况下不起作用.
我提出了一个问题,询问如何使XCode在条件的两边做所有这些事情,但到目前为止没有运气.
XCode syntax highlighting in both conditions of preprocessor #if #else
为了记录我不认为这种行为是一个错误.我可以想象一下,如果在编译时遇到错误会非常令人沮丧.然而,能够编辑这些条件的两面而不必操纵宏定义将是很好的.