[强制]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主要功能是通过局域网络让不同的主机系统之间 ...
随机推荐
- scrapy爬取微信小程序社区教程(crawlspider)
爬取的目标网站是: http://www.wxapp-union.com/portal.php?mod=list&catid=2&page=1 目的是爬取每一个教程的标题,作者,时间和 ...
- 【题解】P2610 [ZJOI2012]旅游
link 题意 T国的国土可以用一个凸N边形来表示,包含 \(N-2\) 个城市,每个城市都是顶点为 \(N\) 边形顶点的三角形,两人的旅游路线可以看做是连接N个顶点中不相邻两点的线段.问一路能经过 ...
- OpenWrt下基于OLSR的Ad-Hoc组网实现网络摄像头多节点访问
文章目录 Ad-Hoc组网配置 摄像头端口映射 PC连接设置 结果 Ad-Hoc组网配置 参照博客 链接: link. 摄像头端口映射 这里使用到了海康网络摄像头,先将网络摄像头的网口连接到任意一个节 ...
- IIS-logfiles详解以及日志日期问题
IIS日志的含义IIS是Internet Information Server的缩写,意思是英特网信息服务,日志就是运行的记录 IIS日志的默认目录就是%systemroot%\system32\lo ...
- js基本数据类型--null和undefined的区别
1. null类型 只有一个值null,逻辑上表示一个空对象的指针,如果要定义一个变量来保存对象,最好将该变量初始化为null,比如let a="",而不要let b这样,其实nu ...
- Python最会变魔术的魔术方法,我觉得是它!
在上篇文章中,我有一个核心的发现:Python 内置类型的特殊方法(含魔术方法与其它方法)由 C 语言独立实现,在 Python 层面不存在调用关系. 但是,文中也提到了一个例外:一个非常神秘的魔术方 ...
- UML—20—003
博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018SE ...
- IDEA中flink程序报错找不到类
Idea中运行flink程序,报错找不到类,其中pom文件中一项依赖为: <dependency> <groupId>org.apache.flink</groupId& ...
- Android各版本迭代改动与适配集合
前言 今天分享的面试题是: Android在版本迭代中,总会进行很多改动,那么你熟知各版本都改动了什么内容?又要怎么适配呢? Android4.4 发布ART虚拟机,提供选项可以开启. HttpURL ...
- 个人微信公众号搭建Python实现 -个人公众号搭建-总结(14.3.6)
@ 目录 1.主要技术:Flask,requests 2.实现的主要功能 3.目录说明 4.运行方式 关于作者 1.主要技术:Flask,requests requirements.txt如下 req ...