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. 第11.18节 Python 中re模块的匹配对象

    匹配对象是Python中re模块正则表达式匹配处理的返回结果,用于存放匹配的情况.老猿认为匹配对象更多的应该是与组匹配模式的功能对应的,只是没有使用组匹配模式的正则表达式整体作为组0. 为了说明下面的 ...

  2. COMMENT SQL二次注入

    这题目太顶了进去随便发个贴,出现登录已经提示用户名和密码了,弱密码登录(得自己去爆破)zhangwei666即可 没啥思路,扫下目录试试,kali的dirb扫到.git泄露githacker得到源码看 ...

  3. Hive基本原理及配置Mysql作为Hive的默认数据库

    Hive是什么? Hive是基于Hadoop之上的数据仓库: Hive是一种可以存储.查询.分析存储在hadoop中的大规模数据 Hive定义了简单的类SQL查询语言,成为HQL,它允许熟悉SQL的用 ...

  4. 深入剖析HashMap

    前言 很高兴遇见你~ HashMap是一个非常重要的集合,日常使用也非常的频繁,同时也是面试重点.本文并不打算讲解基础的使用api,而是深入HashMap的底层,讲解关于HashMap的重点知识.需要 ...

  5. ARC109F - 1D Kingdom Builder

    一行格子,其中小于\(0\)的格子为白色,大于\(n\)的格子为黑色,中间的格子颜色由题目给出. 有一些格子需要被标记.标记按照以下规则进行:选择一个颜色\(c\),找到一个未标记的 旁边有标记点的 ...

  6. Codeforces Edu Round 50 A-D

    A. Function Height 由于只能提升\(x\)为奇数的点,每个三角形的底一定为\(2\), 则要求我们求: \(2 * (h_1 + h_2 + - + h_n) / 2 = k\),使 ...

  7. RMAN迁移数据库(不改变文件目录)

    1.目标库创建相应目录mkdir -p /u01/app/oracle/oradata/orclmkdir -p /u01/app/oracle/fast_recovery_area/ORCLmkdi ...

  8. [日常摸鱼]bzoj1470[noi2002]Savage

    晚上做到的一个扩欧的水题(?) wa了好几发感觉自己药丸-重新推了一遍公式才发现自己打错了orz 借此复习一下扩欧吧-orz 题目:http://www.lydsy.com/JudgeOnline/p ...

  9. 个人微信公众号搭建Python实现 -个人公众号搭建-总结(14.3.6)

    @ 目录 1.主要技术:Flask,requests 2.实现的主要功能 3.目录说明 4.运行方式 关于作者 1.主要技术:Flask,requests requirements.txt如下 req ...

  10. CSS鼠标指针cursor样式

    参考来源:W3SCHOOL 有时我们需要在CSS布局时设定特定的鼠标指针样式,这时可以通过设定cursor来实现: url: 需使用的自定义光标的 URL. 注释:请在此列表的末端始终定义一种普通的光 ...