Остановить Xcode от преобразования текста в гиперссылки? - PullRequest
4 голосов
/ 24 декабря 2009

У меня есть Xcode 3.2.1, и я наслаждаюсь им, но когда я редактирую файл с гиперссылками в тексте (например, комментарий со ссылкой: # см. http://example.com) Xcode поворачивается текст в гиперссылку, активируемую щелчком мыши. Это королевская PITA при попытке отредактировать эту гиперссылку, так как это означает, что я не могу щелкнуть внутри нее, чтобы отредактировать фрагмент ссылки - я должен выбрать все и перепечатать, или backspace / стрелка одиннадцать-три раза, чтобы добраться до той части, которая нуждается в изменении.

Кто-нибудь знает, как это отключить? Я не вижу этого нигде в настройках, и гуглил, пока мои пальцы не отвалились, но безрезультатно.

Ответы [ 3 ]

4 голосов
/ 02 января 2010

Покопался немного дальше, и я обнаружил, что Xcode 3.x скрывает свои правила подсветки синтаксиса в файлах xclangspec , поэтому редактирование соответствующего файла позволит вам изменить правила в некоторой степени.

Файлы хранятся здесь:

/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 (что находится в отдельном правиле ниже первого). Я оставляю это как упражнение для читателя; -)

Очевидно, я мог бы быть более избирательным, и я подозреваю, что изменения строки типа также будет достаточно. Кроме того, будущие версии Xcode, скорее всего, будут перезаписывать это изменение, поэтому мне придется изучить вопрос о внесении изменения в мою собственную копию BaseSupport.xclangspec и посмотреть, работает ли его вставка в ~ / Library / Application Support.

3 голосов
/ 16 апреля 2016

Для тех, кто приезжает сюда для Xcode 7, все немного изменилось с момента первоначальной публикации @ Zee.

Для начала файл BaseSupport.xclangspec теперь расположен /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources.

Во-вторых, вы также должны изменить файл Built-in Syntax Types.xcsynspec, который находится в том же каталоге, что и BaseSupport.xclangspec. После открытия этого файла перейдите к комментарию MARK: URLs и избавьтесь от идентификаторов URL.

В целях безопасности я бы рекомендовал просто комментировать:

// 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:%@";
//},
3 голосов
/ 02 января 2010

Используйте клавишу выбора при выделении текста в ссылке или, что еще более резко, отключите подсветку синтаксиса для файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...