阻止Xcode将文本转换为超链接?

时间:2009-12-23 21:19:57

标签: xcode macos

我有Xcode 3.2.1,并且喜欢使用它,但当我在文本中编辑带有超链接的文件时(例如,带引用的注释:#see http://example.com)Xcode转将文本转换为可点击的超链接。这是一个皇家PITA在尝试编辑该超链接时,因为这意味着我无法在其中单击以编辑链接的一部分 - 我必须全部选择并重新键入,或退格/箭头键十一亿次到达需要改变的部分。

任何人都知道如何关闭它?我没有在偏好中的任何地方看到它,并且用Google搜索,直到我的手指脱落,无济于事。

3 个答案:

答案 0 :(得分:4)

进一步挖掘,我发现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中。

答案 1 :(得分:3)

在链接中选择文本时使用选项键或更严重,请关闭文件的语法高亮显示。

答案 2 :(得分:3)

对于那些来Xcode 7的人来说,自@ Zee的原创帖子以来,情况发生了一些变化。

对于初学者,BaseSupport.xclangspec文件现在位于/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources

其次,您还必须修改Built-in Syntax Types.xcsynspec文件,该文件与BaseSupport.xclangspec位于同一目录中。打开此文件后,请转到评论MARK: URLs并删除网址标识符。

出于安全考虑,我建议只发表评论:

// MARK: URLs
//{
//    Identifier = "xcode.syntax.url";
//    Name = "URLs";
//    Color = "0.055 0.055 1.000";
//    IncludeInPrefs = YES;
//    IsLink = YES;
//    URLFormat = "%@";
//},
//{
//    Identifier = "xcode.syntax.url.mail";
//    BasedOn = "xcode.syntax.url";
//    Color = "0.055 0.055 1.000";
//    IncludeInPrefs = NO;
//    IsLink = YES;
//    URLFormat = "mailto:%@";
//},