SQLDeveloper Fonts

I like Oracle’s sqldeveloper. It does a nice job and is free. So if someone has to learn Oralce or is working on Oracle DB as a hobbh, investing in Quest’s PlSQL Developer or Toad does not make sense, even if they provide a lot more functionality than Oracle’s SQL Developer.

What I do not like in SQL developer is its look and feel and fonts in it, which look so ugly. You can change the theme of developer to windows in windows which makes a bit better. But, in Linux there’s no choice. You have to work with Oracle theme.

Here is how I made it look a bit better for me.

Modify sqldeveloper/sqldeveloper/bin/sqldeveloper.conf to add below line:
AddVMOption -Dawt.useSystemAAFontSettings=on
AddVMOption -Dswing.aatext=true
AddVMOption -Dswing.plaf.metal.controlFont="Droid Sans-13" 
AddVMOption -Dswing.plaf.metal.userFont="Droid Sans-13"
AddVMOption -Dswing.plaf.metal.systemFont="Droid Sans-13"
Instead of “Droid Sans” you can use and test whatever font you like.

Here is a before and after snapshot of my SQLDeveloper.

SQLDeveloper Before changes
Oracle SQLDeveloper before changes
SQLDeveloper After Changes
Oracle SQLDeveloper After changes

And, here is my sqldeveloper.conf after changes:
IncludeConfFile ../../ide/bin/ide.conf

SetJavaHome ../../jdk

AddVMOption  -Doracle.ide.util.AddinPolicyUtils.OVERRIDE_FLAG=true

AddVMOption -Dsun.java2d.ddoffscreen=false

AddVMOption -Dwindows.shell.font.languages=

AddVMOption  -XX:MaxPermSize=256M

AddVMOption -Doracle.jdbc.mapDateToTimestamp=false  

AddVMOption -Doracle.ide.startup.features=sqldeveloper

AddVMOption -Doracle.jdbc.autoCommitSpecCompliant=false

#Our location for the NLS jars
AddJavaLibFile  ../../jlib/orai18n-collation.jar
AddJavaLibFile  ../../jlib/orai18n-mapping.jar
AddJavaLibFile  ../../jlib/orai18n-servlet.jar
AddJavaLibFile  ../../jlib/orai18n-utility.jar
AddJavaLibFile  ../../jlib/orai18n.jar

IncludeConfFile  sqldeveloper-nondebug.conf

AddVMOption -Dawt.useSystemAAFontSettings=on
AddVMOption -Dswing.aatext=true
AddVMOption -Dswing.plaf.metal.controlFont="Droid Sans-13" 
AddVMOption -Dswing.plaf.metal.userFont="Droid Sans-13"
AddVMOption -Dswing.plaf.metal.systemFont="Droid Sans-13"