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. PyQt学习随笔:QTableWidget水平表头horizontalHeader、竖直表头verticalHeader的相关操作方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidget表格部件的表头包括水平表头和竖直表头,水平表头每节对应表格的一列,竖直表头对 ...

  2. PyQt(Python+Qt)学习随笔:QTableWidget的currentItem、rowCount、columnCount等部件状态属性访问方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 老猿将QTableWidget表格部件中反映部件当前情况的一些方法归类为部件状态访问方法,包括部件的 ...

  3. PyQt(Python+Qt)学习随笔:QAbstractItemView的SelectionBehavior属性

    老猿Python博文目录 老猿Python博客地址 一.概述 SelectionBehavior属性用于控制选择行为操作的数据单位,是指选择时选中数据是按行.按列还是按项来选择.SelectionBe ...

  4. 自动化测试架构设计 &&自动化持续集成测试任务实战[线性测试、模块驱动测试、数据驱动测试、关键字驱动测试]

    1 为什么设计自动化测试架构 1.1 企业现状分析 压力大:产品需求不明确,上线时间确定,压力山大. 混乱:未立项,开发时间已过半,前期无控制,后期无保障. 疲于应付:开发人员交付的文件质量差,测试跟 ...

  5. 二分查找——没有想象中的容易(详解各种变式,超深度理解,c++)

    int binarySearch(int[] nums, int target) { int left = 0; int right = nums.length - 1; // 注意 while(le ...

  6. Linux的一些基本操作

    1. 解压,对于tar格式和zip格式不同,后者是unzip test.zip ,如果要解压到指定路径是 unzip test.zip -d ../

  7. Linux下安装视频转换工具ffmpeg

    ffmpeg下载地址:http://ffmpeg.org/releases/ 1.首先需要安装解码器集合(包含安装ffmpeg用到的所有解码器)下载地址: 链接:https://pan.baidu.c ...

  8. 【Codeforces 1097F】Alex and a TV Show(bitset & 莫比乌斯反演)

    Description 你需要维护 \(n\) 个可重集,并执行 \(m\) 次操作: 1 x v:\(X\leftarrow \{v\}\): 2 x y z:\(X\leftarrow Y \cu ...

  9. ss命令结合zabbix对socket做监控

    本文为博客园作者所写: 一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 最近天冷了,socket也出问题了,一直没有做监控,现在就把监控加起来,目前我们使用的有z ...

  10. Java中多线程安全问题实例分析

    案例 1 package com.duyang.thread.basic.basethread; 2 3 /** 4 * @author :jiaolian 5 * @date :Created in ...