我有Xcode 3.2.1,並且喜歡使用它,但是當我在文本中使用超鏈接編輯文件時(例如,帶引用的註釋:#請參閱http://example.com)Xcode將文本轉換爲可點擊的文本超鏈接。這是試圖編輯該超鏈接時的皇家PITA,因爲這意味着我無法點擊它來編輯鏈接的一部分 - 我必須全部選中它並重新鍵入,或者退格鍵/箭頭鍵重新鍵入十億次到達需要改變的部分。停止將文本轉換爲超鏈接的Xcode?
任何人都知道如何關閉它?我沒有在喜好中看到它,並且Google搜索直到我的手指掉下來,都無濟於事。
我有Xcode 3.2.1,並且喜歡使用它,但是當我在文本中使用超鏈接編輯文件時(例如,帶引用的註釋:#請參閱http://example.com)Xcode將文本轉換爲可點擊的文本超鏈接。這是試圖編輯該超鏈接時的皇家PITA,因爲這意味着我無法點擊它來編輯鏈接的一部分 - 我必須全部選中它並重新鍵入,或者退格鍵/箭頭鍵重新鍵入十億次到達需要改變的部分。停止將文本轉換爲超鏈接的Xcode?
任何人都知道如何關閉它?我沒有在喜好中看到它,並且Google搜索直到我的手指掉下來,都無濟於事。
挖了一點點,我發現Xcode 3.x在xclangspec files中隱藏了它的語法高亮規則,因此編輯相應的文件將允許您在一定程度上更改規則。
文件都存儲在這裏:
/Developer/Library/PrivateFrameworks/XcodeEdit.framework/Versions/A/Resources
在該目錄中,我打開BaseSupport.xclangspec,發現標識的URL協議行:
Syntax = {
StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ;/:@&=+$,-_.!~*'()%#";
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\\-_][email protected][a-zA-Z0-9\\-_\\.!%]+$",
"^radar:[a-zA-Z0-9;/?:@\\&=+$,\\-_.!~*'()%#]+$",
); */
Type = "xcode.syntax.url";
};
,改變了線匹配=到閱讀:
Match =();
這消除了URL匹配,但不是mailto匹配(這是在第一個下面的獨立規則中)。我將它作爲讀者的練習;-)
很顯然,我本來可以更具選擇性,並且我懷疑改變Type行也是足夠的。此外,未來版本的Xcode可能會覆蓋這一更改,因此我必須調查將更改放入我自己的BaseSupport.xclangspec副本中,並查看是否將其粘貼到〜/ Library/Application Support中。
在鏈接中選擇文本或更劇烈時使用選項鍵,關閉文件的語法高亮顯示。
任何想法,Xcode中存儲的語法高亮規則?我想知道是否有某個可編輯的資源文件。 – Zee 2010-01-02 18:22:49
對於任何來到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:%@";
//},
原來,即使使用Xcode 6,它仍然有效。唯一的區別是BaseSupport.xclangspec現在位於: /Applications/Xcode.app/Contents/OtherFrameworks/XcodeEdit.framework/Versions/A/Resources 否則它仍然有效。謝謝你的提示! – GuyGizmo 2015-02-09 21:52:54
......並且它仍然在Xcode 7中工作!但是現在你還必須編輯:/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/BaseSupport.xclangspec – GuyGizmo 2016-10-28 21:06:01