IDE-IntelliJ IDEA 主题、字体、编辑区主题、文件编码修改、乱码问题

主题修改

  • 上图标注 1 所示为 IntelliJ IDEA 修改主题的地方,可以通过打开左上角的File -> Setting。在 Windows 系统上 IntelliJ IDEA 默认提供的主题有四套:DarculaIntelliJWindowsAlloy. IDEA Theme。除了 Darcula 是黑色主题,其他三套都是以白色为背景的。
  • 其他操作系统上不一定会也有四套主题的,主题的选择上大家根据自己喜好即可。改变主题需要重启 IntelliJ IDEA 方可看到效果。

字体修改

主题字体修改

  • 如上图标注 1 所示,IntelliJ IDEA 主题字体的修改要先勾选 Override default fonts by 。默认 IntelliJ IDEA 是不推荐修改的,但是由于字体是有分包含中文和不包含中文之分的,一般使用英文的国家是不需要额外担心乱码问题的,而我们需要。
  • 字体的审美上每个人不一样,但是如上一段说的,这里的字体修改是需要知道一个前提的,那就是你选择的那个字体必须含有中文,比如微软雅黑和宋体这类是包含中文的,而 Courier New 和 Monaco 这类只是单纯的英文字体。
  • 如果你选择的字体不包含中文,那可能会在很多位置上出现类似 口口口口口 这样的乱码问题,比如文件名含有中文、字体是中文名字的都会变成 口口口口口
  • 在修改 IntelliJ IDEA 的主题字体的时候,不建议把字体调成很大,因为很多人遇到这样一种情况:显示器分辨率低,主题字体又大,在 IntelliJ IDEA 的某些操作的工具菜单、右键菜单选项中部分选项超出了分辨率显示范围,没办法被选中。当然了,如果你一定要把字体改大,又不用大分辨率显示器,那可以通过 IntelliJ IDEA 的 Menus and Toolbars 删除部分你认为用不到的菜单,但是一般不建议这样做。
  • 还需要特别注意的时候,如果你是开着 IntelliJ IDEA 的时候,新装了一个字体的话,那必须重启IntelliJ IDEA 之后才能在下拉列表找到新装的字体。

代码编辑字体修改

  • 如上图标注 1 所示,默认 IntelliJ IDEA 是不能直接在默认的代码模板上修改字体的,需要先 Save As 一份出来,然后才可以修改。这种设计在 IntelliJ IDEA 其他很多设置也是如此的,所以如果你还看到类似有 CopySave As 这类选项的按钮就要想到是此设计思想。
  • 如上图标注 2 所示,勾选的 Show only monospaced fonts 表示筛选显示系统上的等宽字体。由于 Windows 系统上等宽字体并不多,勾选此选项出现的下拉字体可选择就很少。取消勾选之后,就可以显示系统上所有已安装的字体。
  • 如上图标注 3 所示,其中编码字体有第一字体(Primary font) 和 第二字体(Secondary font)之分。当有些字符在第一字体支持不了的时候,会去使用第二字体进行支持。
  • 我个人习惯上:英文字体使用 Monaco,由于此字体不支持中文,所以我把这个设置为第一字体,第二字体使用 Yahei Consolas Hybrid 进行支持,该字体含有中文。这两个字体都不是系统自带的,需要自行下载安装。
  • 如果你的第一字体不包含中文的话,第二字体包含中文,那在有些地方也还是会出现 口口口口口 这类问题,比如 Ctrl + Shift + N 进行查找文件的时候,如果你输入中文也会变成 口口口口口 ,我个人文件名为中文的不多,所以就容忍了这种情况。如果你不愿意容忍这种情况,那还是回到最开始的要求:第一字体包含中文。

控制台输出字体修改

  • 如上图为控制台输出内容字体修改,有很多 IntelliJ IDEA 新人在做输出的时候出现乱码原因就是因为没有在这里进行设置。
  • 控制台输出字体 修改的原理跟 代码编辑字体修改 是一样的,所以这里不进行讲解。

编辑区主题修改

编辑区主题介绍

  • 编辑区主题,也就是代码书写区的主题修改。基本上大家在 General 上都有对此进行小修小改,我下面也主要介绍下我个人在 General 上常修改的一些地方,其他特性的颜色修改我一般默认,但是修改方法原理一样。
  • 如上图红圈下拉所示,展示的是我当前电脑可以选择的编辑区主题。
  • 对于编辑区的主题,也有人制作成模板在网络上提供下载。这里主要介绍两个站点:

编辑区主题细节修改

  • 上图标注 1 为可修改的通用细节内容
  • 上图标注 2 为可修改属性,其中并不是每个细节都可以修改所有属性的。比如细节:Default text 是可以勾选 Bold,而 Caret row 则是无法勾选 Bold,因为只有文本才有加粗的属性需求。
  • 上图标注 3 为修改后的预览区,预览区是实时动态展示的。
  • 在 General 区,我常修改的有:
  • Default text,指的是默认代码文本,我一般会修改其 Background 属性。
  • Caret row,指的是光标所在行,我一般会修改其 Background 属性。
  • Vertical indent guide,指的是垂直缩进线,我一般会修改其 Foreground 属性。
  • Identifier under caret,指的是光标所在位置的相同标识符呈现什么效果,我一般会修改其 Background 属性。
  • Text search result,指的是在查找模式下,匹配字符的样式,我一般会修改其 Background 属性。

文件编码修改

  • 上图标注 1 所示,IDE 的编码默认是 UTF-8Project Encoding 虽然默认是 GBK,但是一般我都建议修改为 UTF-8
  • 上图标注 2 所示,IntelliJ IDEA 可以对 Properties 文件进行专门的编码设置,一般也建议改为 UTF-8,其中有一个重点就是属性 Transparent native-to-ascii conversion
  • 上图标注 3 所示,对于 Properties 文件,重要属性 Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文。
  • 上图标注 4 所示,IntelliJ IDEA 除了支持对整个 Project 设置编码之外,还支持对目录、文件进行编码设置。如果你要对目录进行编码设置的话,可能会出现需要 Convert 编码的弹出操作选择,强烈建议 在转换之前做好文件备份,不然可能出现转换过程变成乱码,无法还原。

  • 如上图演示,对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中文,则会弹出演示中的操作选择。
  • Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。
  • Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。
  • 含有中文的代码文件,Convert 之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原。

由于编码问题引起的编译错误

  • 编译报错:找不到符号未结束的字符串文字 等的解决办法:
  • 由于 UTF-8 编码文件有分 有BOM 和 无BOM 之分,默认情况下 IntelliJ IDEA 使用的编译器是 javac,而此编译只能编译 无BOM 的文件,有很多 Eclipse 用户在使用 IntelliJ IDEA 开发 Eclipse 项目的时候常常会遇到此问题。主要是因为 Eclipse 的编译器是 Eclipse,此编译器支持 有BOM 的文件编译。故,解决办法是对于此文件进行 BOM 去除。
  • 批量去除 BOM,你可以 Google:批量去除 BOM批量转换无 BOM 等关键字,网络上已有提供各种方案。
  • 除了通过去除 BOM 还有设置 IntelliJ IDEA 的编译器为 Eclipse,但是一般不建议这样做。
  • 如果上述问题都无法解决,而且你也确认 IntelliJ IDEA 各个配置编码的地方都是 UTF-8,报错文件编码也是是UTF-8 无 BOM 的话,那还有一种可能也会出现这种情况:项目配置文件有问题。项目编码的配置文件在:/项目目录/.idea/encodings.xml。如果你会修改此文件可以进行修改,如果不会,那就删除掉 .idea 整个目录,重启 IntelliJ IDEA 重新配置这个项目即可。

Tomcat 控制台输出乱码

  • 如果你的 Tomcat 控制台输出乱码,并且你已经保证了本文上面的控制台字体设置你设置的字体包含中文,那你还可以尝试下在 Tomcat 的 VM 参数上加上:-Dfile.encoding=UTF-8
  • 更多资料:https://github.com/judasn
 
分类: IDE

IDE-IntelliJ IDEA的更多相关文章

  1. JAVA IDE IntelliJ IDEA使用简介(一)—之界面元素

    (注:简介基于IDEA的版本为:11.0,下载地址:http://www.jetbrains.com/idea/) 打开IDEA,(当第一次打开的时候出现的是一个欢迎页面,随便创建一个project来 ...

  2. [IDE]Intellij Idea学习整理

    一.优化 1.在IDEA的安装目录的bin目录下,找到如图所示的两个文件,根据所在系统是32位还是64位打开相应的文件. 2.以64位为例,打开idea64.exe.vmoptions. 如图修改参数 ...

  3. 最好的JAVA IDE IntelliJ IDEA使用简介(一)—之界面元素

    打开IDEA,(当第一次打开的时候出现的是一个欢迎页面,随便创建一个project来进入到IDEA的主界面),主界面显示如下: 主界面由6个主要区域组成(图中红色数字标注的) 1.菜单和工具栏 2.导 ...

  4. JAVA IDE IntelliJ IDEA 快捷键使用详记

    一.高效定位代码 1.项目之间的跳转 Ctrl + Alt + [  :切换到下一个项目窗口 Ctrl + Alt + ]  :  切换到上一个项目窗口 2.文件之间的跳转↑↓←→ Ctrl + E ...

  5. JAVA IDE IntelliJ IDEA使用简介(三)—之你不能忘记的快捷键

    IDEA有许多的快捷键来帮助你更便捷的编写代码,以下列出的快捷键(默认情况下,你还没有定制你的快捷键)是工作中经常需要使用到的,请牢记 快捷键 描述 备注 Alt+F1 视图切换 切换当前工作文件的视 ...

  6. JAVA IDE IntelliJ IDEA使用简介(二)—之基本操作

    一.在编辑器中打开文件  1.可以使用下面的几种方式打开project内的文件进行编辑  (·)在project窗口中双击需要编辑的文件.  (·)在project窗口选择需要编辑的文件,按F4  ( ...

  7. IntelliJ IDEA 快捷键大全

    IntelliJ IDEA 快捷键大全 (2012-03-27 20:33:44) 转载▼ 标签: ide intellij快捷键 杂谈 分类: IDE工具 最近刚接触IntelliJ这个工具,用了几 ...

  8. 30分钟groovy快速入门并掌握(ubuntu 14.04+IntelliJ 13)

    本文适合于不熟悉 Groovy,但想快速轻松地了解其基础知识的 Java开发人员.了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合.内置正则表达式和闭包. ...

  9. Intellij修改archetype Plugin配置

    Maven archetype plugin为我们提供了方便的创建 project功能,Archtype指我们项目的骨架,作为项目的脚手架. 如fornt end的yo之类.我们能够通过简单的一行控制 ...

  10. Java - IDE

    JDK安装及环境变量配置 下载安装对应版本的JDK 控制面板--->系统--->属性--->高级系统设置--->环境变量 新建系统变量JAVA_HOME 变量名:JAVA_HO ...

随机推荐

  1. LayoutParams继承于Android.View.ViewGroup.LayoutParams.

    LayoutParams相当于一个Layout的信息包,它封装了Layout的位置.高.宽等信息.假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉L ...

  2. hdoj--1495--非常可乐(搜索+隐式图)

    非常可乐 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  3. MarkDown 语法备份

    标题 标题1 标题2 标题3 标题4 标题5 无序列表 飞雪连天射白鹿 书神侠倚碧鸳 有序列表 飞雪连天射白鹿 笑书神侠倚碧鸳 超链接 百度 图片 粗体和斜体 粗体 斜体 表格 左对齐标题 右对齐标题 ...

  4. Fildder 4接口测试工具Post请求方式

  5. ES6 | ES6新语法 在编码实践中的应用

    本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的.易于阅读和维护的代码. 多家公司和组织已经公开了它们的风格规范,本文的内容主要参考了  ...

  6. python 3.x 学习笔记16 (队列queue 以及 multiprocessing模块)

    1.队列(queue) 用法: import queue q = queue.Queue() #先进先出模式 q.put(1) #存放数据在q里 作用: 1)解耦    2)提高效率 class qu ...

  7. input上传文件检测文件大小

    前几天在做 input[type='file'] 上传图片时,需要检测上传文件的内存大小,写了一个小demo,在此做一总结: <!DOCTYPE html> <html lang=& ...

  8. IIS的安装与配置详细图解教程

    IIS是Internet Information Services(互联网信息服务)的简称,是有微软公司提供的基于在windows操作系统环境下运行的互联网服务.此处将介绍如何安装配置IIS来构架自己 ...

  9. .NET Datatable常用系列一

    Datatable常用系列一 一.用作集合存储数据: DataTable dt = new DataTable("action"); for (int i = 0; i < ...

  10. OracleRef游标

    提到个思考:怎样让游标作为参数传递? 解决这个问题就需要用到 REF Cursor . 1,什么是 REF游标?  动态关联结果集的临时对象.即在运行的时候动态决定执行查询.   2,REF 游标有什 ...