我有Xcode 3.2.1,并且喜欢使用它,但当我在文本中编辑带有超链接的文件时(例如,带引用的注释:#see http://example.com)Xcode转将文本转换为可点击的超链接。这是一个皇家PITA在尝试编辑该超链接时,因为这意味着我无法在其中单击以编辑链接的一部分 - 我必须全部选择并重新键入,或退格/箭头键十一亿次到达需要改变的部分。
任何人都知道如何关闭它?我没有在偏好中的任何地方看到它,并且用Google搜索,直到我的手指脱落,无济于事。
答案 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:%@";
//},