Answers:
我使用的是高dpi显示器,并且可以使用完美的字体渲染来实现此目的,您需要:
(在Linux上)安装并使用Oracle JDK(我使用的是1.7)而不是OpenJDK(同样,用fontfix修补的版本对我来说是没有用的)。看看如何做。
通过添加以下几行,编辑在Bin安装文件夹中找到的.vmoptions配置文件(例如,studio.vmoptions和64bit studio64.vmoptions或WebStorm.exe.vmoptions等,根据您安装的IDE的版本):
-Dawt.useSystemAAFontSettings=on
-Dswing.aatext=true
-Dsun.java2d.xrender=true
从您要使用的字体中删除提示信息,然后在IntelliJ IDEA首选项中选择新字体(设置->编辑器->字体);
如果您不知道如何执行此操作,请安装FontForge,然后:
Ctrl+A
并清除所有提示(提示->清除提示)如果您遵循上述提示,并且在快速滚动代码时遇到了滞后现象(有时在使用未优化gpu驱动程序的Linux发行版中可能会发生这种情况),请尝试
-Dsun.java2d.xrender=true
从.vmoptions文件中删除该行。
最后,这是结果的屏幕截图:
(此处使用的字体是用于主IDE的LucidaMAC和用于代码编辑器的已删除提示信息的Ubuntu Mono)
Properties
,转到Compatibility
选项卡并检查Disable DPI scaling on high DPI settings
,对于Win8中的x64应用程序,您应编辑相关注册表项的标志:打开Regedit。 exe,转到HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
并添加一个字符串值REG_SZ,其名称是应用程序可执行文件的完整路径,其值是HIGHDPIAWARE);)
我写了一些手册来解决这个问题。
wget http://urshulyak.com/jdk-8u5-tuxjdk-b08.tar.gz
tar -zxvf jdk-8u5-tuxjdk-b08.tar.gz
sudo mv jdk-8u5-tuxjdk-b08 /usr/lib/jvm
rm jdk-8u5-tuxjdk-b08.tar.gz
启动Intellij Idea的脚本
*仅注意,您需要更改IDEA_HOME的位置以适应您的想法
#!/bin/sh
IDEA_HOME=/opt/idea
export JAVA_HOME=/usr/lib/jvm/jdk-8u5-tuxjdk-b08/
export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd \
-Dsun.java2d.xrender=true"
export GNOME_DESKTOP_SESSION_ID=this-is-deprecated
exec $IDEA_HOME/bin/idea.sh "$@"
更多信息和更好的字体的屏幕截图:http : //urshulyak.com/?p=478
-Dsun.java2d.xrender=true
到bin/webstorm64.vmoptions
WebStorm的目录中就足够了。
通过下载Menlo字体并将“外观和行为>外观”中的“编辑器抗锯齿”设置为“灰度”,我得到了类似的外观
结果如下:
这是两个平台之间的比较
我在MAC上使用了更高的分辨率和更好的硬件,这就是为什么字体看起来更亮的原因,结果会因您的机器而异。无论如何值得一试,更改很容易还原
这些丑陋的东西都不再需要了。下载适用于Linux的最新IntelliJ(自2016.1起)。它包括一个修正的JRE,已修复字体问题。要同时修复Android Studio,请建立指向IntelliJ jre的符号链接:
ln -s /PATH/TO/INTELLIJ/jre /PATH/TO/ANDROIDSTUDIO/jre
或者,只需以根用户身份打开文件管理器(假设您的IDE安装在/ opt目录或其他系统文件夹中),然后创建IntelliJ jre的快捷方式并将其移至Android Studio安装文件夹,然后将其重命名为“ jre”。这适用于最新的android studio 2.0,但也应该适用于较早的版本。
Intellij IDEA 15.0.2
和Build #IU-143.1184
Source Code Pro
字体现在看起来有点太粗体,但这是一个小问题。谢谢!
在较新的JetBrains IDE中,解决方案有所不同。
在IDE 安装文件夹中,只需将 jre
文件夹重命名为其他名称即可。例如:
$ cd your-path-to/WebStorm-162.2228.20/
$ mv jre/ _jre/
较新的版本使用捆绑的JRE而不是系统版本的JRE,此捆绑的版本会导致字体渲染问题。
在这里工作正常:Kubuntu 16.04 linux上的WebStorm 2016.3.2。
如果您无法清除FontForge的提示,例如guari在他的回答中所述。使用Cousine(Apache License v2.00)作为编辑器字体,并将大小设置为14。我尝试了几种其他的等宽字体。但是,Cousine似乎比大多数其他字体具有更好的渲染效果。见最后的截图
cd ~/Downloads/ && wget www.fontsquirrel.com/fonts/download/cousine
sudo mkdir /usr/share/fonts/truetype/Cousine
sudo unzip cousine -d /usr/share/fonts/truetype/Cousine/
sudo chmod -R 777 /usr/share/fonts/truetype/Cousine
sudo fc-cache -f -v
屏幕截图:
在Windows 10中,我遇到了类似的问题。检查Disable display scaling on high DPI settings
使字体更平滑但更大。这样做的方法(来自其他用户的先前评论):
右键单击其图标,选择
Properties
,转到Compatibility
选项卡并检查Disable DPI scaling on high DPI settings
进入Windows Settings
并进行搜索Display Settings
,有一个带有的滑块对话框,显示Change the size of text, apps, and other items
。我将其从125%移到了100%,并且必须注销并重新登录。现在,字体又小又光滑:
甚至,如果我取消选中Disable display scaling on high DPI settings
,它似乎仍然很流畅。
可接受的答案对我不起作用,但是我通过执行以下操作使一切正常:
在阅读了各种教程并弄乱了一些修复程序之后,我发现了一种完美的方法。
cd Downloads
tar -xvf jdk-8u25-linux-x64.tar.gz
rm jdk-8u25-linux-x64.tar.gz
sudo mkdir -p /usr/lib/jvm/
sudo mv jdk1.8.0_25 /usr/lib/jvm/
现在,通过执行以下命令下载JDK字体修复程序(由[Urshulyak Yaroslav] [2]提供):
cd ~/Downloads
wget http://urshulyak.com/jdk-8u5-tuxjdk-b08.tar.gz
tar -xvf jdk-8u5-tuxjdk-b08.tar.gz
sudo mv jdk-8u5-tuxjdk-b08 /usr/lib/jvm
rm jdk-8u5-tuxjdk-b08.tar.gz
这将解压缩下载的zip并将其移至/ usr / lib / jvm /。现在在终端中运行以下命令:
cd ~
sudo gedit .bashrc
然后将以下行添加到bashrc文件的最底部。
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_25/
export JAVA_HOME
保存它,然后编辑idea.sh。(您的脚本位置可能有所不同)
gedit /home/USER/Downloads/idea/bin/idea.sh
在脚本的最底部,将以下两行替换为While Do语句底部的行:
eval "/usr/lib/jvm/jdk-8u5-tuxjdk-b08/bin/java" $ALL_JVM_ARGS -Djb.restart.code=88 $MAIN_CLASS_NAME "$@"
test $? -ne 88 && break
保存它,然后打开IntelliJ,字体应该工作,并且您将使用Oracle JDK 8进行开发。您可能必须编辑“项目设置”并再次设置JDK,但请确保使用实际的JDK,而不要使用字体修复程序。
此修复程序还适用于CLion,Android Studio和[PyCharm。
这些说明假定JDK版本为1.8.0_25,文件/路径名将在以后的版本中更改。
您可以安装Oracle JDK-8。在ubuntu 14.04上进行了测试,以后也应该可以使用。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
检查版本:
$ java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
这是在Ubuntu 16.04上使用可怕的字体渲染时的样子:
如果您使用的是不附带JDK的IntelliJ IDEA 2016.X或更高版本,则可以设置环境变量“ IDEA_JDK”以指定特定的运行时。使用Android Studio的ubuntu 16.04中的字体渲染非常完美,因此您可以与Intellij IDEA共享相同的JRE。IntelliJ首先寻找IDEA_JDK环境变量,因此通过添加一个文件进行设置:
/etc/profile.d/IDEA_SDK.sh
将此添加到文件中:
export IDEA_JDK=/opt/android-studio/jre
根据您的安装调整/ opt / android-studio / jre。注销并重新登录并启动Intellij IDE
使用新的JRE后,结果如下所示:
我意识到使用默认配置时phpstorm的抗锯齿效果很好。两个命令的比较表明,唯一的区别是phpstorm使用了自己的java(/ usr / share / phpstorm / jre64 / bin / java)。
我修改了想法的启动脚本,使其使用phpstorm的java进行了工作,并且一切都与phpstorm一样好。 屏幕截图