2013-09-26 110 views
12

使用Xcode時,似乎沒有辦法將代碼編輯器字體設置爲銳利(即沒有'字體平滑處理)。儘管您可能會在預覽區域的首選項>字體&顏色中看到,但在實際代碼視圖中,它總是被平滑/消除鋸齒。在代碼編輯器中禁用Xcode反鋸齒文本?

有一些olderquestions地址以前版本的Xcode。他們建議使用defaults write com.apple.dt.Xcode <etc>更改各種設置,但這些似乎不影響Mac OS X 10.8.5上Xcode 5中的代碼視圖。我正在使用具有一個Retina和一個非Retina屏幕的雙顯示器設置。

我已經試過關閉的字體在系統偏好設置平滑複選框>常規>「使用LCD字體平滑可用的地方」,但隻影響子像素渲染...

更新(情節中字):Mac OS X 10.10.1和Xcode 6.1.1仍然存在問題。這裏是在使用這些終端命令後,在編輯器視圖(平滑)和喜好窗口(不平滑)截圖:

defaults write com.apple.dt.Xcode NSFontDefaultScreenFontSubstitutionEnabled -bool YES 
defaults write com.apple.dt.Xcode AppleAntiAliasingThreshold 16 

Xcode

+0

添加了一個答案Xcode的6優勝美地。 –

+0

你可以把原始的未壓縮,非縮放截圖的鏈接?並不是我不相信你,只是因爲SO縮放了圖像,所以它實際上在所有像素上應用了抗鋸齒功能,因此您無法真正看到它們的差異! –

+0

它在我看來像是有原始圖像。您可以在新的瀏覽器窗口中打開它。 –

回答

6

MikeAsh說他能夠構建一個Xcode插件來告訴文本視圖使用屏幕字體。看起來這會很簡單,儘管我還沒有嘗試過。

一般策略是(從他的推特)將是「補丁-[NSTextView drawRect:]和做[[self layoutManager] setUsesScreenFonts: YES];」。

更新(2015-08-14):這是來自Ash的blog post和他的插件Xcode project的說明。如果我將7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90添加到DVTPlugInCompatibilityUUIDs,它適用於Xcode 6.4。我認爲這個問題解決了!

更新(2016年6月20日):由於Xcode 8,則不能使用Xcode的插件,但該用戶默認的工作:

defaults write com.apple.dt.Xcode NSFontDefaultScreenFontSubstitutionEnabled -bool YES 
+0

謝謝。你贏得我的賞金;-)讓我們希望他做出版物向我們展示如何使用它。另外,如果你設法修復你的Xcode,請通過編輯你的答案來保持我們的發佈。如果我在做之前弄明白,我也會這樣做。 –

+0

我也可以確認這適用於XCode 7。 0420B86A-AA43-4792-9ED0-6FE0F2B16A13是xcode 7的新uuid。 – costa

+0

7.1中是7265231C-39B4-402C-89E1-16167C4CC990。必須重新編譯插件。 – costa

6

如果使用非視網膜顯示器,嘗試

defaults write com.apple.dt.Xcode NSFontDefaultScreenFontSubstitutionEnabled -bool YES
並重新啓動的XCode。

UPDATE:

而且調用此:

defaults write com.apple.dt.Xcode AppleAntiAliasingThreshold 24
+1

謝謝。不幸的是,這不適用於我的混合分辨率雙顯示器設置。 –

+0

謝謝;你是我的英雄!在Mac Pro上與Mavericks一起在Xcode 5中很好用。 – lifjoy

+0

無法在我的MacBook Pro 2012(非Retina)上使用Xcode 5.0.2和OS X 10.9.1 –

1

我不知道以前的版本,但在Xcode 6.1和優勝美地(OS X 10.10)兩個命令實際上是需要禁用在Xcode中進行本地反鋸齒。

首先,正如已經說明,你需要在終端控制檯輸入以下內容:

defaults write com.apple.dt.Xcode NSFontDefaultScreenFontSubstitutionEnabled -bool YES 

然後,其次:

defaults write com.apple.dt.Xcode AppleAntiAliasingThreshold <some integer value> 

這是最好禁用字體平滑或抗鋸齒貫穿整個操作系統。 它應該真的是一個選項來檢查/取消選中程序本身,但至少這是有效的。

+0

感謝您的幫助,但是這並不適合我。我將字體設置爲Monaco 9.這些命令使字體在Xcode字體首選項中以我想要的方式顯示,但它們似乎不影響主文本編輯器視圖。 –

+0

@MichaelTsai嗨邁克爾,你能給我更多的信息嗎?你目前的配置是什麼?你現在正在使用Xcode 6.1和Yosemite,還是仍然使用與你的問題相同的配置?你可以給我一個截圖(通過在鍵盤上按Cmd-Shift-3),而在Xcode中顯示前臺的字體和顏色窗口以及它後面的編輯器,只是讓我可以看到你在說什麼?不要壓縮它,只需直接上傳屏幕截圖。 –

+0

我已經更新了這個附加信息的問題。 –