2013-09-26 10 views
12

Quando si utilizza Xcode, non sembra essere un modo per impostare i caratteri dell'editor di codice per essere nitidi (cioè senza 'font smoothing'). Nonostante ciò che potresti vedere nell'area di anteprima di Preferenze> Caratteri & Colori, all'interno della visualizzazione del codice reale è sempre levigato/anti-alias.Disabilitare il testo anti-alias Xcode all'interno dell'editor di codice?

Ci sono alcuni olderquestions che indirizzano le versioni precedenti di Xcode. Suggeriscono di cambiare varie impostazioni usando defaults write com.apple.dt.Xcode <etc>, ma queste non sembrano influenzare la visualizzazione del codice per me in Xcode 5 su Mac OS X 10.8.5. Sto usando una configurazione a doppio display con uno schermo Retina e uno senza retina.

Ho provato disattivando il carattere che smussa casella in Preferenze di Sistema> Generali> "Usa carattere LCD lisciatura dove disponibile", ma che riguarda solo il rendering sub pixel ...

Aggiornamento (2014/11/25): Il problema si verifica ancora con Mac OS X 10.10.1 e Xcode 6.1.1. Ecco uno screenshot che mostra la vista dell'editor (lisciato) e la finestra delle preferenze (non livellato) dopo l'utilizzo di questi comandi da terminale:

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

Xcode

+0

aggiunto una risposta per Xcode 6 e Yosemite. –

+0

puoi inserire un link allo screenshot originale non stampato, non modificato? Non è che non ti creda, è solo perché SO ha ridimensionato l'immagine in realtà viene applicata l'anti-aliasing su tutti i pixel, quindi non puoi davvero vedere la differenza! –

+0

Mi sembra che SO abbia l'immagine originale. Puoi aprirlo in una nuova finestra del browser. –

risposta

6

MikeAsh dice che è stato in grado di creare un plug-in Xcode per dire alla visualizzazione del testo di utilizzare i caratteri dello schermo. Sembra che questo sarebbe semplice da fare, anche se non l'ho ancora provato.

La strategia generale sarebbe (dal suo tweet) sarebbe "patch -[NSTextView drawRect:] e fare [[self layoutManager] setUsesScreenFonts: YES];".

Aggiornamento (2015-08-14): Ecco un esplicativo blog post di Ash e il Xcode project per il suo plug-in. Funziona con Xcode 6.4 se aggiungo 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90 allo DVTPlugInCompatibilityUUIDs. Considero questo problema risolto!

Aggiornamento (2016/06/20): A partire dal Xcode 8, non è possibile utilizzare Xcode plug-in, ma questo utente predefiniti opere:

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

Grazie. Vinci la mia taglia ;-) Speriamo che faccia una pubblicazione che ci mostri come usarla. Inoltre, se riesci a correggere il tuo xcode con qualsiasi mezzo, tienici aggiornato modificando la tua risposta. Farò lo stesso se lo capisco prima di te. –

+0

Posso confermare che funziona anche per XCode 7. 0420B86A-AA43-4792-9ED0-6FE0F2B16A13 è il nuovo uuid per xcode 7. – costa

+0

In 7.1 è 7265231C-39B4-402C-89E1-16167C4CC990. Ho dovuto ricompilare il plugin. – costa

6

Se si utilizza un display non retina, provare

defaults write com.apple.dt.Xcode NSFontDefaultScreenFontSubstitutionEnabled -bool YES
e riavviare XCode.

UPDATE:

invocano anche questo:

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

Grazie. Sfortunatamente, questo non funziona con la mia configurazione a doppio schermo a risoluzione mista. –

+0

Grazie; tu sei il mio eroe! Funziona alla grande in Xcode 5 con Mavericks su Mac Pro. – lifjoy

+0

Non funziona sul mio MacBook Pro 2012 (non Retina) con Xcode 5.0.2 e OS X 10.9.1 –

1

io non sono sicuro di versioni precedenti, ma con Xcode 6.1 e Yosemite (OS X 10.10) due comandi esiste alcun obbligo di disabilitare anti-aliasing localmente in Xcode.

In primo luogo, come è già stato detto, è necessario immettere quanto segue al console terminale:

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

Poi, in secondo luogo:

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

Questa è preferibile alla disattivazione font smoothing o antialiasing in tutto l'intero sistema operativo. Dovrebbe davvero essere un'opzione per selezionare/deselezionare all'interno del programma stesso, ma almeno questo funziona.

+0

Grazie per aver cercato di aiutare, tuttavia questo non ha funzionato per me. Ho il font impostato su Monaco 9. Questi comandi fanno apparire il font nel modo in cui voglio all'interno delle preferenze dei caratteri di Xcode, ma non sembrano influenzare la vista dell'editor di testo principale. –

+0

@MichaelTsai ciao Michael, puoi darmi qualche informazione in più? Qual è la tua attuale configurazione? Stai usando Xcode 6.1 e Yosemite o stai ancora utilizzando la stessa configurazione della domanda? Puoi darmi uno screenshot (premendo Cmd-Shift-3 sulla tastiera) mentre in Xcode mostra la finestra Caratteri e colori in primo piano e l'editor dietro di esso, solo così posso vedere cosa stai dicendo? Non comprimerlo, basta caricare lo screenshot direttamente. –

+0

Ho aggiornato la domanda con queste informazioni aggiuntive. –

Problemi correlati