Eclipse无法调整字体设置的解决办法

个人学习参考所用,勿喷!

     这里使用的是eclipse 3.7.1 的JEE版本为例。

     在14寸的1366*768分辨率的宽屏下,eclipse的默认的10号字体实在是太小了。很伤眼睛。eclipse中的字体设置方法是,选择Window菜单中的Preferences,然后在左侧菜单中选择General中的Colors and Fonts,选中右侧Java中的Java Editor Text Font,然后点击旁边的Edit按钮,这样就可以进行设置了,设置完后点击确定即可。

     不知道是Win7系统还是哪里出了问题,反正eclipse3.7.1的字体大小无法调节了(同一台机器上的eclipse3.5也出现了同样的情况,而另外一台Win7系统的eclipse3.7.1可以正常调节字体设置)。上网找寻方案未果。

     通过导出eclipse的Preferences配置文件,在文件中我们无法找到字体的配置项目。所以想到直接去eclipse的启动目录或者其子目录下的配置文件中配置。显然对于Eclipse这样的开源软件来说,配置文件几乎都是明文的。但是字体的配置也不在eclipse的程序目录或者某个子目录的文件里头,这点可以通过新建的工作空间的字体为默认这种情况来验证。其实字体的配置就写在了每个工作空间目录下名为“.metadata”的目录下。具体可以通过查找到一下三个文件:

  1. .metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.ui.prefs
  2. .metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.ui.workbench.prefs
  3. .metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.wst.jsdt.ui.prefs

     这里需要手动操作的是第二个,org.eclipse.ui.workbench.prefs这个文件:

     默认情况下,文件内容如下:

#Mon Feb 27 10:10:23 CST 2012
ColorsAndFontsPreferencePage.expandedCategories=Torg.eclipse.ui.workbenchMisc
eclipse.preferences.version=1
//org.eclipse.ui.commands/state/org.eclipse.wst.xml.views.XPathView.processor.xpathprocessor/org.eclipse.ui.commands.radioState=xpath10
ENABLED_DECORATORS=org.eclipse.jst.ws.jaxws.dom.integration.navigator.WebServiceDecorator\:true,org.eclipse.wst.server.ui.decorator\:false,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.DependencyDecoration\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.ColumnDecoration\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.ForeignKeyDecoration\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.IndexTriggerDecoration\:true,org.eclipse.datatools.connectivity.internal.core.ui.bookmarkDecoration\:true,org.eclipse.datatools.connectivity.internal.core.ui.FilterNodeDecoration\:true,org.eclipse.datatools.connectivity.ui.decorator.contentextension\:false,org.eclipse.datatools.enablement.ingres.ui.providers.decorators.SynonymDecorationService\:true,org.eclipse.datatools.enablement.ingres.internal.ui.providers.decorators.ParameterDecorationService\:true,org.eclipse.datatools.enablement.sybase.asa.proxytabledecorator\:true,org.eclipse.datatools.enablement.sybase.ase.webservicetabledecorator\:true,org.eclipse.datatools.enablement.sybase.systemtabledecorator\:true,org.eclipse.jdt.ui.override.decorator\:true,org.eclipse.jdt.ui.interface.decorator\:false,org.eclipse.jdt.ui.buildpath.decorator\:true,org.eclipse.jst.j2ee.internal.ui.util.AnnotationIconDecorator_ejb\:true,org.eclipse.jst.j2ee.navigator.internal.J2EEProjectDecorator\:true,org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanDecorator\:true,org.eclipse.jst.jee.navigator.internal.JEEProjectDecorator\:true,org.eclipse.jst.j2ee.internal.ui.util.AnnotationIconDecorator_servlet\:true,org.eclipse.jst.servlet.ui.Decorator\:true,org.eclipse.mylyn.context.ui.decorator.interest\:true,org.eclipse.mylyn.tasks.ui.decorators.task\:true,org.eclipse.mylyn.team.ui.changeset.decorator\:true,org.eclipse.pde.ui.binaryProjectDecorator\:false,org.eclipse.rse.core.virtualobject.decorator\:true,org.eclipse.rse.core.binary.executable.decorator\:true,org.eclipse.rse.core.script.executable.decorator\:true,org.eclipse.rse.core.java.executable.decorator\:true,org.eclipse.rse.core.library.decorator\:true,org.eclipse.rse.core.link.decorator\:true,org.eclipse.rse.subsystems.error.decorator\:true,org.eclipse.team.cvs.ui.decorator\:true,org.eclipse.ui.LinkedResourceDecorator\:true,org.eclipse.ui.VirtualResourceDecorator\:true,org.eclipse.ui.ContentTypeDecorator\:true,org.eclipse.ui.ResourceFilterDecorator\:false,org.eclipse.wst.jsdt.ui.override.decorator\:true,org.eclipse.wst.server.ui.navigatorDecorator\:true,
ColorsAndFontsPreferencePage.selectedElement=Forg.eclipse.jface.textfont

    而修改了默认字体大小以后,文件内容的如下:

#Mon Feb 27 10:10:23 CST 2012
ColorsAndFontsPreferencePage.expandedCategories=Torg.eclipse.ui.workbenchMisc
org.eclipse.jface.textfont=1|Consolas|12.0|0|WINDOWS|1|-16|0|0|0|400|0|0|0|0|3|2|1|49|Consolas;
eclipse.preferences.version=1
//org.eclipse.ui.commands/state/org.eclipse.wst.xml.views.XPathView.processor.xpathprocessor/org.eclipse.ui.commands.radioState=xpath10
ENABLED_DECORATORS=org.eclipse.jst.ws.jaxws.dom.integration.navigator.WebServiceDecorator\:true,org.eclipse.wst.server.ui.decorator\:false,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.DependencyDecoration\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.ColumnDecoration\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.ForeignKeyDecoration\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.IndexTriggerDecoration\:true,org.eclipse.datatools.connectivity.internal.core.ui.bookmarkDecoration\:true,org.eclipse.datatools.connectivity.internal.core.ui.FilterNodeDecoration\:true,org.eclipse.datatools.connectivity.ui.decorator.contentextension\:false,org.eclipse.datatools.enablement.ingres.ui.providers.decorators.SynonymDecorationService\:true,org.eclipse.datatools.enablement.ingres.internal.ui.providers.decorators.ParameterDecorationService\:true,org.eclipse.datatools.enablement.sybase.asa.proxytabledecorator\:true,org.eclipse.datatools.enablement.sybase.ase.webservicetabledecorator\:true,org.eclipse.datatools.enablement.sybase.systemtabledecorator\:true,org.eclipse.jdt.ui.override.decorator\:true,org.eclipse.jdt.ui.interface.decorator\:false,org.eclipse.jdt.ui.buildpath.decorator\:true,org.eclipse.jst.j2ee.internal.ui.util.AnnotationIconDecorator_ejb\:true,org.eclipse.jst.j2ee.navigator.internal.J2EEProjectDecorator\:true,org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanDecorator\:true,org.eclipse.jst.jee.navigator.internal.JEEProjectDecorator\:true,org.eclipse.jst.j2ee.internal.ui.util.AnnotationIconDecorator_servlet\:true,org.eclipse.jst.servlet.ui.Decorator\:true,org.eclipse.mylyn.context.ui.decorator.interest\:true,org.eclipse.mylyn.tasks.ui.decorators.task\:true,org.eclipse.mylyn.team.ui.changeset.decorator\:true,org.eclipse.pde.ui.binaryProjectDecorator\:false,org.eclipse.rse.core.virtualobject.decorator\:true,org.eclipse.rse.core.binary.executable.decorator\:true,org.eclipse.rse.core.script.executable.decorator\:true,org.eclipse.rse.core.java.executable.decorator\:true,org.eclipse.rse.core.library.decorator\:true,org.eclipse.rse.core.link.decorator\:true,org.eclipse.rse.subsystems.error.decorator\:true,org.eclipse.team.cvs.ui.decorator\:true,org.eclipse.ui.LinkedResourceDecorator\:true,org.eclipse.ui.VirtualResourceDecorator\:true,org.eclipse.ui.ContentTypeDecorator\:true,org.eclipse.ui.ResourceFilterDecorator\:false,org.eclipse.wst.jsdt.ui.override.decorator\:true,org.eclipse.wst.server.ui.navigatorDecorator\:true,
ColorsAndFontsPreferencePage.selectedElement=Forg.eclipse.jface.textfont

    区别就是多了这样一句:

org.eclipse.jface.textfont=1|Consolas|12.0|0|WINDOWS|1|-16|0|0|0|400|0|0|0|0|3|2|1|49|Consolas;

    这句话里头的12.0就字体为12是的设置。顺便说一句,字体大小为‘小四’或者‘14号’字体的时候这里的设置应该是14.25。所以每种字体的大小需要自己通过查看设置变化来确定(这时候需要寻找一个能够通过正常个途径设置的eclipse)或者其他途径来确定。

    通过对第二个文件的设置后,重新启动就会发现字体已经设置为我们需要的了。这个时候会发先第一个文件这个时候会进行更新,如下(这里由默认改为了12号字体):

#Mon Feb 27 10:25:55 CST 2012
content_assist_proposals_foreground=0,0,0
spelling_locale_initialized=true
content_assist_disabled_computers=org.eclipse.jdt.ui.javaAllProposalCategory\u0000org.eclipse.jdt.ui.javaNoTypeProposalCategory\u0000org.eclipse.jdt.ui.textProposalCategory\u0000org.eclipse.jdt.ui.javaTypeProposalCategory\u0000
org.eclipse.jdt.ui.text.templates_migrated=true
useAnnotationsPrefPage=true
eclipse.preferences.version=1
org.eclipse.jface.textfont=1|Consolas|12.0|0|WINDOWS|1|-16|0|0|0|400|0|0|0|0|3|2|1|49|Consolas;
tabWidthPropagated=true
org.eclipse.jdt.ui.editor.tab.width=
fontPropagated=true
org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
org.eclipse.jdt.ui.javadoclocations.migrated=true
proposalOrderMigrated=true
content_assist_proposals_background=255,255,255
org.eclipse.jdt.ui.formatterprofiles.version=12
org.eclipse.jdt.internal.ui.navigator.layout=1
content_assist_number_of_computers=23
useQuickDiffPrefPage=true
org.eclipse.jdt.ui.text.custom_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
content_assist_lru_history=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><history maxLHS\="100" maxRHS\="10"><lhs name\="java.lang.Runnable"><rhs name\="java.lang.Thread"/><rhs name\="com.whty.wxcs.ice.service.Message1"/><rhs name\="com.whty.wxcs.timetunnel.AwakerService"/><rhs name\="com.whty.wxcs.timetunnel.AwakeApp"/></lhs><lhs name\="java.lang.Thread"><rhs name\="java.lang.Thread"/></lhs><lhs name\="Ice.Object"><rhs name\="com.whty.wxcs.ice.servant.InsertMessageI"/></lhs><lhs name\="com.whty.wxcs.util.TokyoTyrantConnect"><rhs name\="com.whty.wxcs.util.TokyoTyrantConnect"/></lhs><lhs name\="org.apache.http.client.methods.HttpRequestBase"><rhs name\="org.apache.http.client.methods.HttpGet"/></lhs><lhs name\="org.apache.http.client.methods.HttpUriRequest"><rhs name\="org.apache.http.client.methods.HttpGet"/></lhs><lhs name\="org.apache.http.client.methods.AbortableHttpRequest"><rhs name\="org.apache.http.client.methods.HttpGet"/></lhs><lhs name\="java.lang.Cloneable"><rhs name\="org.apache.http.client.methods.HttpGet"/></lhs><lhs name\="org.apache.http.HttpRequest"><rhs name\="org.apache.http.client.methods.HttpGet"/></lhs><lhs name\="org.apache.http.HttpMessage"><rhs name\="org.apache.http.client.methods.HttpGet"/></lhs><lhs name\="org.apache.http.message.AbstractHttpMessage"><rhs name\="org.apache.http.client.methods.HttpGet"/></lhs><lhs name\="org.apache.http.client.methods.HttpGet"><rhs name\="org.apache.http.client.methods.HttpGet"/></lhs><lhs name\="Ice.ObjectPrx"><rhs name\="com.whty.wxcs.ice.ifaces.FutureMessagePrxHelper"/></lhs><lhs name\="com.whty.wxcs.ice.ifaces.FutureMessagePrx"><rhs name\="com.whty.wxcs.ice.ifaces.FutureMessagePrxHelper"/></lhs><lhs name\="com.whty.wxcs.util.CronJob"><rhs name\="com.whty.wxcs.util.CronJob"/></lhs><lhs name\="com.whty.wxcs.timetunnel.StoppableService"><rhs name\="com.whty.wxcs.timetunnel.AwakerService"/></lhs><lhs name\="com.whty.wxcs.timetunnel.AwakerService"><rhs name\="com.whty.wxcs.timetunnel.AwakerService"/></lhs><lhs name\="org.apache.thrift.server.TServer$AbstractServerArgs"><rhs name\="org.apache.thrift.server.TThreadPoolServer$Args"/><rhs name\="org.apache.thrift.server.TNonblockingServer$Args"/></lhs><lhs name\="org.apache.thrift.server.TThreadPoolServer$Args"><rhs name\="org.apache.thrift.server.TThreadPoolServer$Args"/></lhs><lhs name\="org.apache.thrift.server.AbstractNonblockingServer$AbstractNonblockingServerArgs"><rhs name\="org.apache.thrift.server.TNonblockingServer$Args"/></lhs><lhs name\="org.springframework.core.env.EnvironmentCapable"><rhs name\="org.springframework.context.support.ClassPathXmlApplicationContext"/></lhs><lhs name\="org.springframework.beans.factory.ListableBeanFactory"><rhs name\="org.springframework.context.support.ClassPathXmlApplicationContext"/></lhs><lhs name\="org.springframework.beans.factory.HierarchicalBeanFactory"><rhs name\="org.springframework.context.support.ClassPathXmlApplicationContext"/></lhs><lhs name\="org.springframework.context.MessageSource"><rhs name\="org.springframework.context.support.ClassPathXmlApplicationContext"/></lhs><lhs name\="org.springframework.context.ApplicationEventPublisher"><rhs name\="org.springframework.context.support.ClassPathXmlApplicationContext"/></lhs><lhs name\="org.springframework.core.io.support.ResourcePatternResolver"><rhs name\="org.springframework.context.support.ClassPathXmlApplicationContext"/></lhs><lhs name\="org.springframework.beans.factory.BeanFactory"><rhs name\="org.springframework.beans.factory.xml.XmlBeanFactory"/><rhs name\="org.springframework.context.support.ClassPathXmlApplicationContext"/></lhs><lhs name\="org.springframework.core.io.ResourceLoader"><rhs name\="org.springframework.context.support.ClassPathXmlApplicationContext"/></lhs><lhs name\="org.springframework.context.ApplicationContext"><rhs name\="org.springframework.context.support.ClassPathXmlApplicationContext"/></lhs><lhs name\="java.lang.CharSequence"><rhs name\="java.lang.String"/></lhs><lhs name\="com.whty.wxcs.service.MyHttpAsyncClient"><rhs name\="com.whty.wxcs.service.MyHttpAsyncClient"/></lhs></history>
org.eclipse.jdt.ui.text.code_templates_migrated=true

 多出了这么一句:

org.eclipse.jface.textfont=1|Consolas|12.0|0|WINDOWS|1|-16|0|0|0|400|0|0|0|0|3|2|1|49|Consolas;

而第三个文件没有变化。


其他设置可以通过这个方法自行摸索!

猜你喜欢

转载自kingxss.iteye.com/blog/1425288