[强制]IDE使用UTF-8和LF
Java 程序开发常用的集成开发环境(IDE)有Eclipse和IntelliJ IDEA。Eclipse是免费开源的,很多早期程序员使用它的比较多。IntelliJ IDEA有社区版和企业版,社区版是免费开源的,企业版是收费的,但社区版不支持Java EE的开发,企业版支持,一般都会选择企业版的使用,因为这个版本可以支持更多的功能(虽然有点贵)。现在的很多程序员都会优先选择IntelliJ IDEA,因为它会更懂你,我也使用IntelliJ IDEA进行开发程序。
我当前使用的是IntelliJ IDEA 2020.3 这个版本。在使用IntelliJ IDEA进行编程之前,必须对它进行一些必要的设置,其中文件的编码方式和换行符模式是两个必须的设置,而且可以认为是强制性的。这足以体现一个Java程序员的修养,不然别说自己开发过Java程序。
一、为什么要设置文件编码方式为UTF-8,为什么要设置换行符格式为Unix(或Linux) LF。
因为UTF-8是国际编码方式,可以兼容多国语言,在国际化网站时尤为重要,同时这也是Linux系统默认的编码方式(最终项目会被部署到Linux服务器上)。之所以要设置换行符格式为Unix(或Linux)即 LF('\n') ,是因为Windows的换行格式是CRLF('\r\n'),也就是回车换行,很鸡肋,一个最佳实践的做法是,选择使用Unix(或Linux)即LF('\n')格式的换行符,这样就可以避免源码在不同操作系统中换行显示不同的情况。
二、在IntelliJ IDEA中设置编码方式和换行符格式。
首先要下载并安装IntelliJ IDEA,这个步骤比较简单,直接去官网下载可执行文件,傻瓜式安装就可以了。当你安装好IntelliJ IDEA后,不要急着创建项目,先设置一番再说。在打开的界面中选择 Customize->All Settings,如下图

首先设置下编码方式,找到Editor->File Encodings,把圈1、2、3的处编码方式设置为UTF-8,把圈4处打上对勾即可。此时编码方式就设置好了。

再设置下换行符格式。还是在上面的设置界面中,找到 Editor->Code Style。然后把Line separator修改为 Unix and macOS(\n)即可。

至此设置完毕,妈妈再也不用担心我的编码方式和换行符格式了,嘿嘿。
最后,就算使用Eclipse集成开发环境,也要设置成UTF-8编码和LF('\n')换行符格式。
最后的最后,偷偷的告诉你,Eclipse默认使用的编译器不是javac,而是它自己开发的编译器ecj,而且是不可以改变的那种。但IntelliJ IDEA默认使用的编译器是javac(被关联的JDK的),而且是可以改变的那种。所以Eclipse编译的代码是与它自己强相关的,因此再次推荐使用IntelliJ IDEA开发程序。
[强制]IDE使用UTF-8和LF的更多相关文章
- ASP+Access UTF-8 网页乱码问题解决办法
用ACCESS数据库和ASP做网站时用UTF-8编码有时会出现乱码,再者网页出错或者刷新页面后就是乱码,如果数据库取值乱码在开头加上<%@LANGUAGE="VBSCRIPT" ...
- 解决不同操作系统下git换行符一致性问题
一.不同操系统下的换行符CR回车 LF换行Windows/Dos CRLF \r\nLinux/Unix LF \nMacOS CR \r二.解决方法 打卡git bash,设置core.autocr ...
- linux_NFS
NFS是什么? 网络文件系统,又叫共享存储,通过网络连接让不同主机之间实现共享存储. 应用于存放图片.附件.视频等用户上传文件 相关同类应用:大型网站nfs有压力,使用moosefs(mfs),Ghu ...
- Sencha EXTJS6的 Eclipse 插件安装指南
Sencha EXTJS的 Eclipse 插件安装指南 (翻译:苏生米沿) 本文地址:http://blog.csdn.net/sushengmiyan/article/details/52566 ...
- NFS网络共享文件系统
1.nfs服务端配置操作 1.1 创建所需的共享目录--源 mkdir /data/rw #rw代表同步的数据可读可写 1.2 对共享目录进行授权 chown -R nfsnobody.nfsno ...
- 转--python 编码规范
编程规范 1.1. 命名规范 1.1.1. [强制] 命名不能以下划线或美元符号开始和结尾 反例: name / __name / $Object / name / name$ / Object$ 1 ...
- Linux系统管理之硬盘管理
硬盘是计算的重要组成部件之一,硬盘为操作系统提供持久话存储的功能,在Linux硬盘设备的性能和好坏可能关系到生成线的安全和用户体验等等.熟练的掌握硬盘管理相关的信息能让我们处理起这些问题来得心应手. ...
- C语言基础 (6) 类型转换,数组与随机数
复习 1.隐式转换 Double a Int b = 1 A = b //编译器自动转换把b转换为double类型后 再给a赋值(隐式转换) 2.强制类型转换 (变量)类型名 Int a = 1 // ...
- 第四章 NFS服务相关介绍
一.NFS服务介绍 1.什么是NFS?是一个共享存储,文件服务器 2.NFS基本概述NFS是Network File System的缩写及网络文件系统.NFS主要功能是通过局域网络让不同的主机系统之间 ...
随机推荐
- 老猿学5G扫盲贴:中国移动的5G计费架构解读
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.引言 在<老猿学5G扫盲贴:3GPP中的 ...
- PyQt(Python+Qt)学习随笔:print标准输出sys.stdout以及stderr重定向QTextBrowser等图形界面对象
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 <在Python实现print标准输出sys.stdout.st ...
- PyQt(Python+Qt)学习随笔:QTableWidget的currentItem、rowCount、columnCount等部件状态属性访问方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 老猿将QTableWidget表格部件中反映部件当前情况的一些方法归类为部件状态访问方法,包括部件的 ...
- 由Java 15废弃偏向锁,谈谈Java Synchronized 的锁机制
Java 15 废弃偏向锁 JDK 15已经在2020年9月15日发布,详情见 JDK 15 官方计划.其中有一项更新是废弃偏向锁,官方的详细说明在:JEP 374: Disable and Depr ...
- NetCDF格式.nc
netcdf sfc_pres_temp { dimensions: latitude = 6 ; //纬度轴 longitude = 12 ; //经度轴 variables: float lati ...
- Angular:使用service进行数据的持久化设置
①使用ng g service services/storage创建一个服务组件 ②在app.module.ts 中引入创建的服务 ③利用本地存储实现数据持久化 ④在组件中使用
- 初入Nginx--配置篇
Nginx的主配置文件为/path/to/nginx/nginx.conf.Nginx.conf的配置文件结构主要由以下几个部分组成: ..... events{ .... } http{ .... ...
- MySQL01-数据库概述
1.概述 1.1 什么是数据库? 用于存储和管理数据的仓库. 1.2 数据库的特点: 1. 持久化存储数据的.其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 - ...
- Docker安装RabbitMQ与Kafka
RabbitMq安装(dokcer) 下载镜像 docker pull rabbitmq 创建并启动容器 docker run -d --name rabbitmq -p 5672:5672 -p 1 ...
- 详解双向链表的基本操作(C语言)
@ 目录 1.双向链表的定义 2.双向链表的创建 3.双向链表的插入 4.双向链表的删除 5.双向链表更改节点数据 6.双向链表的查找 7.双向链表的打印 8.测试函数及结果 1.双向链表的定义 上一 ...