xCode语法高亮消失解决办法

时间:2021-10-01 14:46:39

最近xCode里面语法高亮消失了,用Command键自动跳转也不能用了,所以很不方便,弄了一下午才搞出来,和大家分享下经验。

我用的是4.2的xCode,希望对有此类问题的朋友有所帮助。

一、最常用的解决方法

    重启xCode,index完之后就好了。

    往往这样能解决的问题都不是问题。。。囧

二、首先看看自己的项目的编译器选项是什么,在Targets里面的Build Setting中的Compiler for C/C++/Objective-C选项。

xCode语法高亮消失解决办法

    如果是使用的是如图所示的LLVM GCC 4.2选项的话,有两种解决方法:

    1、看看自己的pch预编译文件,看里面是否重复import了同一个头文件。

          如在pch文件中:

//
// Prefix header for all source files of the 'Hello World' target in the 'Hello World' project
//

#import <Availability.h>

#ifndef __IPHONE_4_0
#warning "This project uses features only available in iOS SDK 4.0 and later."
#endif

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
#endif

#import "a.h"

        在a.h文件中:

......

#import <UIKit/UIKit.h>

......

         如果有类似的头文件重复包含,则用LLVM GCC 4.2选项就不能正确的显示语法高亮,此时需要重新调整一下头文件,将重复包含消除,然后在Organizer中的Projects选项下将自己项目的Derived Data删除,然后重启xCode,index完就能正常使用了。

xCode语法高亮消失解决办法

    2、如果难以修改pch文件中头文件的重复包含(经常在这个文件中引入全局的头文件可以省不少事),可以将LLVM GCC 4.2选项改为Apple LLVM compiler 3.0,这是苹果自己的编译器,所以支持要完善一些,之后在Organizer中的Projects选项下将自己项目的Derived Data删除,然后重启xCode,index完就能正常使用了,后面不需要编码时再改回来就行了。

    3、如果本身就是使用的Apple LLVM compiler 3.0选项,则也可以试试在Organizer中的Projects选项下将自己项目的Derived Data删除,然后重启xCode,index完后看看。