【发布时间】:2020-06-25 23:08:29
【问题描述】:
我想让 Xcode 4 将自定义文件扩展名(例如 *.lx)识别为 Objective-C,用于语法高亮和缩进。如何让工具自动执行此操作?
【问题讨论】:
-
我还不知道如何自动执行此操作,但您可以在“文件检查器”面板中告诉 Xcode 以这种方式识别文件。
标签: objective-c xcode syntax-highlighting
我想让 Xcode 4 将自定义文件扩展名(例如 *.lx)识别为 Objective-C,用于语法高亮和缩进。如何让工具自动执行此操作?
【问题讨论】:
标签: objective-c xcode syntax-highlighting
Xcode 根据文件的Uniform Type Identifier 确定如何在其用户界面中表示文件。据我所知,不可能向现有 UTI 添加额外的文件扩展名标签,但您可以声明一个符合您要映射到的类型的新 UTI。然后系统会将指定的文件扩展名与您的新 UTI 相关联,并通过一致性 Xcode 和所有其他 UTI 感知应用程序将文件识别为映射类型的源代码。
您可能需要考虑在哪里向新 UTI 申报。例如,如果这种类型的文件是由某个工具创建的,那么该工具的捆绑包将是最合适的位置。如果没有更好的选择,您可以创建一个存根应用程序包并在那里声明新的 UTI:
com.yourdomain.objective-c-source。public.objective-c-source。您可以通过浏览system-declared UTIs 的列表或在 Xcode 的 Info.plist 中导出的列表来找到它。Xcode 现在应该对具有指定扩展名的文件使用适当的语法突出显示。
如果这不起作用,请检查已构建应用程序的 Info.plist 以确保所有预期信息都在那里,没有任何尾随空格。您还可以使用lsregister 来检查 UTI 是否已注册:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump
在输出中搜索您的 UTI 标识符并验证它是否存在且处于活动状态。
【讨论】:
public.c-plus-plus-source 作为标识符名称。
在 Xcode 中,当您的文件在编辑器中处于活动状态时,您转到编辑器菜单 -> 语法着色 -> Objective-C
这会将objective-c 语法着色应用于文件。使用纯文本文件为我工作,无论其扩展名如何。
这似乎也适用于自动缩进
【讨论】: