在Xcode 4.0中为编程语言添加语法高亮功能

27

有没有人知道是否可以在Xcode 4中添加自定义语法高亮?

在Xcode 3中,您只需要将一些文件添加到以下位置即可:

  

〜/Library/Application Support/Developer/Shared/Xcode/Specifications/

但是这似乎不再起作用了?


曾尝试修改/Developer/Library/PrivateFrameworks/DevToolsCore.framework和/Developer/Library/PrivateFrameworks/XcodeEdit.framework中的文件。有人在这方面取得了进展吗?使用的是Xcode 4.0.2。 - petert
我也想了解这个。到目前为止,口号似乎是Xcode 4不支持它,即使进行黑客攻击也不行。 - CodeSmile
我也有兴趣为其他文件扩展名(特别是.jsm文件)使用现有的语法着色方案,例如JavaScript着色。如果有一种方法可以按文件类型设置默认制表位,那就更好了。 - Matthew Gertner
你有XCode5.0.2的解决方案吗? - Noundla Sandeep
3个回答

6

1

我没有尝试过,但我认为值得尝试以下方法(至少在XCode 4.3上):

1- 进入XCode包内的/Contents/OtherFrameworks/DevToolsCore.framework/Versions/A/Resources/目录;

2- 找到文件“Built-in file types.pbfilespec”和“Standard file types.pbfilespec”;

3- 创建这些文件的备份副本;

4- 语言语法应该插入到“Built-in file types.pbfilespec”文件中。只需将C语言的定义作为模板,并定义新的语言语法即可;

5- 文件“Standard file types.pbfilespec”似乎引用了文件“Built-in file types.pbfilespec”,但这只是一个猜测。如果第4步不够,请考虑编辑此文件;

希望能有所帮助。


我尝试将 .jsm 扩展名添加到 sourcecode.javascript 部分的 Standard file types.pbfilespec 中,但它仍然不会对这些文件使用 JS 语法着色。我想也许我必须为这些文件设置一个 UTI,所以我将其添加到 XCode Info.plist 中导出的 UTI 中(复制了 JSON 定义并将扩展名更改为 .jsm,MIME 类型更改为 text/javascript)。仍然没有成功。我注意到在“获取信息”中,.js 文件的“种类”列为“JavaScript”,但我不知道如何使 .jsm 的“种类”也是如此(现在是“XCode 文档”)。 - Matthew Gertner
看起来那些文件在DevToolsCore.framework中出现了很多次。我会尝试更改/Contents/OtherFrameworks/DevToolsCore.framework/Resources/中的文件,看看是否有效。 - Thiagoab
我刚刚找到了这个可能会对我们有帮助的资源:http://maxao.free.fr/xcode-plugin-interface/,特别是第三个主题(规范文件)。 - Thiagoab
是的,那个文档已经存在很久了,但不幸的是它似乎只适用于XCode 3。 - Matthew Gertner
除了“内置文件类型.pbfilespec”和“标准文件类型.pbfilespec”之外,还有OtherFrameworks/XcodeEdit.framework/Versions/A/Resources和SharedFrameworks/DVTFoundation.framework文件夹(Xcode 4.4捆绑包)包含xclangspec文件,因此可以在那里创建新文件。然而,我担心这一切都是无用的,因为OtherFrameworks/XcodeEdit.framework/Versions/A/_CodeSignature/CodeResources中还有一个签名文件,其中包含每种语言的哈希值(某种类型)。因此,除非我们找出这些哈希值是如何生成的,否则我认为这是行不通的。 - ettore

-1

1
注意:这只改变了颜色方案。它不允许定义Xcode尚未识别的编程语言的新语法高亮方案。 - Kristopher Johnson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接