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的更多相关文章

  1. ASP+Access UTF-8 网页乱码问题解决办法

    用ACCESS数据库和ASP做网站时用UTF-8编码有时会出现乱码,再者网页出错或者刷新页面后就是乱码,如果数据库取值乱码在开头加上<%@LANGUAGE="VBSCRIPT" ...

  2. 解决不同操作系统下git换行符一致性问题

    一.不同操系统下的换行符CR回车 LF换行Windows/Dos CRLF \r\nLinux/Unix LF \nMacOS CR \r二.解决方法 打卡git bash,设置core.autocr ...

  3. linux_NFS

    NFS是什么? 网络文件系统,又叫共享存储,通过网络连接让不同主机之间实现共享存储. 应用于存放图片.附件.视频等用户上传文件 相关同类应用:大型网站nfs有压力,使用moosefs(mfs),Ghu ...

  4. Sencha EXTJS6的 Eclipse 插件安装指南

    Sencha EXTJS的 Eclipse 插件安装指南 (翻译:苏生米沿) 本文地址:http://blog.csdn.net/sushengmiyan/article/details/52566 ...

  5. NFS网络共享文件系统

    1.nfs服务端配置操作 1.1  创建所需的共享目录--源 mkdir /data/rw #rw代表同步的数据可读可写 1.2  对共享目录进行授权 chown -R nfsnobody.nfsno ...

  6. 转--python 编码规范

    编程规范 1.1. 命名规范 1.1.1. [强制] 命名不能以下划线或美元符号开始和结尾 反例: name / __name / $Object / name / name$ / Object$ 1 ...

  7. Linux系统管理之硬盘管理

    硬盘是计算的重要组成部件之一,硬盘为操作系统提供持久话存储的功能,在Linux硬盘设备的性能和好坏可能关系到生成线的安全和用户体验等等.熟练的掌握硬盘管理相关的信息能让我们处理起这些问题来得心应手. ...

  8. C语言基础 (6) 类型转换,数组与随机数

    复习 1.隐式转换 Double a Int b = 1 A = b //编译器自动转换把b转换为double类型后 再给a赋值(隐式转换) 2.强制类型转换 (变量)类型名 Int a = 1 // ...

  9. 第四章 NFS服务相关介绍

    一.NFS服务介绍 1.什么是NFS?是一个共享存储,文件服务器 2.NFS基本概述NFS是Network File System的缩写及网络文件系统.NFS主要功能是通过局域网络让不同的主机系统之间 ...

随机推荐

  1. 第二章、PyQt5应用构建详细过程介绍

    老猿Python博文目录 老猿Python博客地址 一.引言 在上节<第一章.PyQt的简介.安装与配置>介绍了PyQt5及其安装和配置过程,本节将编写一个简单的PyQt5应用,介绍基本的 ...

  2. PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象documentMode属性

    documentMode属性表示当前主窗口是否启用文档模式,如果是则主窗口的选项卡部件会以适合操作文档的模式呈现,这类似于macOS上的文档模式. 设置此属性时,界面上不会呈现选项卡部件框架.此模式当 ...

  3. Jmeter(三十三) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy6(详解教程)

    1.简介 今天分享的就是在上一篇文章的基础上来进行讲解和分享:Badboy使用数据源Excel进行脚本参数化.然后在使用读取的参数进行对比断言. 2.具体场景 Badboy录制一个搜索的脚本,并对搜索 ...

  4. 题解-[SDOI2016]征途

    [SDOI2016]征途 [SDOI2016]征途 给定长度为 \(n\) 的序列 \(a\{n\}\),将其分为连续 \(m\) 段,和分别为 \(v\{m\}\).\(v\{m\}\) 的方差为 ...

  5. redis学习之——五大基本数据类型

    redis 键 (key) 基本数据类型:string 字符串 list (列表)  set(集合)  hash(类似java 中的Map)   zset(有序集合) 官方命令doc redis 键 ...

  6. 移动端和PC端区分

    1.移动端包括:浏览器.ios/android.qq端.微信端 九度数据官网源码.修改,要跳转的链接即可. function browserRedirect() { var sUserAgent = ...

  7. sqli-labs less8-10(布尔盲注时间盲注)

    less-8 布尔盲注 首先利用?id=1' and 1=1 --+和?id=1' and 1=2 --+确定id的类型为单引号''包裹.然后进行盲注. 盲注思路: 破解当前数据库名: and len ...

  8. Collections.synchronizedList 并发

    1.背景 集合类中的map,大家一定熟悉,知道它非线程安全.使用的方法有两种,一种是在map上加同步器(锁),另一种是创建容器时使用Collections中的静态方法对map进行包装. java ap ...

  9. Java中字符串替换方法

    replaceAll方法 public String replaceAll(String regex, String replacement) replace方法 public String repl ...

  10. Flink问题1

    flink问题1 报错: More buffers requested available than totally available 查看源码: /** * This method makes s ...