我有
Xcode 3.2.1,并且喜欢使用它,但是当我在文本中编辑带有超链接的文件时(例如,带引用的注释:#see
http://example.com)Xcode将文本转换为可点击的超链接.这是一个皇家PITA在尝试编辑该超链接时,因为这意味着我无法在其中单击以编辑链接的一部分 – 我必须全部选择并重新键入,或退格/箭头键十一亿次到达需要改变的部分.
解决方法
进一步挖掘,我发现Xcode 3.x在
xclangspec files中隐藏了它的语法高亮规则,因此编辑相应的文件将允许您将规则更改到一定程度.
文件存储在这里:
/Developer/Library/PrivateFrameworks/XcodeEdit.framework/Versions/A/Resources
在该目录中,我打开了BaseSupport.xclangspec并找到了标识URL协议的行:
Syntax = { StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;/:@&=+$,-_.!~*'()%#"; Match = "^(acap|afp|afs|cid|data|fax|Feed|file|ftp|go|gopher|http|https|imap|ldap|mailserver|mid|modem|news|nntp|opaquelocktoken|pop|prospero|rdar|rtsp|service|sip|soap\\.beep|soap\\.beeps|tel|telnet|tip|tn3270|urn|vemmi|wais|z39\\.50r|z39\\.50s)://([a-zA-Z0-9\\-_.]+/)?[a-zA-Z0-9;/?:@\\&=+$,\\-_.!~*'()%#]+$","^(mailto|im):[a-zA-Z0-9\\-_]+@[a-zA-Z0-9\\-_\\.!%]+$","^radar:[a-zA-Z0-9;/?:@\\&=+$,); */ Type = "xcode.Syntax.url"; };
并将Match =的行更改为:
Match = ();
这消除了URL匹配,但没有mailto匹配(在第一个下面的单独规则中).我将这作为读者的练习;-)
显然,我本来可以更有选择性,我怀疑改变Type类型就足够了.此外,未来版本的Xcode可能会覆盖此更改,因此我将不得不调查将更改放入我自己的BaseSupport.xclangspec副本中,并查看是否将其粘贴到〜/ Library / Application Support中.