加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Xcode:宏打破完成/突出显示

发布时间:2020-12-14 17:27:21 所属栏目:百科 来源:网络整理
导读:从 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. 但是,当在预处理器指令中编写代码时,这些“索引驱动的功能”都
从 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,未经修改.请注意,此处也不存在语法突出显示:

Warnings

在#if中正确完成:

Correct Code Completion

但是,在#else中完成不正确:

Incorrect Code Completion

它一半使用局部变量:

Broken Parsing in UIDeviceOrientationIsPortrait Macro

但是当调用在当前方法范围之外声明的东西时再次中断:

Broken Parsing in UIDeviceOrientationIsPortrait Macro

Another example
Another example

任何人都可以告诉我如何(或者甚至)如何解决这个问题?

解决方法

XCode实际上评估预处理器指令的条件,并且只对当前真实条件内的代码进行突出显示/完成.例如

语法高亮,自动完成和警告(在这种情况下为未使用的变量警告)在不真实的情况下不起作用.

我提出了一个问题,询问如何使XCode在条件的两边做所有这些事情,但到目前为止没有运气.
XCode syntax highlighting in both conditions of preprocessor #if #else

为了记录我不认为这种行为是一个错误.我可以想象一下,如果在编译时遇到错误会非常令人沮丧.然而,能够编辑这些条件的两面而不必操纵宏定义将是很好的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读