IDEA中設(shè)置Tab健為4個(gè)空格的方法
大家敲代碼的時(shí)候習(xí)慣是用Tab還是空格呢?個(gè)人還是習(xí)慣用Tab,畢竟敲一下跟敲四下比。還是有質(zhì)的飛躍的。
但是最近看到一個(gè)叫做David Robinson的家伙,根據(jù)Stack Overflow開發(fā)者調(diào)查的原始數(shù)據(jù),使用線性回歸模型進(jìn)行分析。研究發(fā)現(xiàn),在控制了國家、編程經(jīng)驗(yàn)?zāi)晗?、開發(fā)人員類型和語言、教育水平、公司規(guī)模等等要素后,使用空格的人比使用Tab的人薪水高出8.6%。如圖:

嚇的我趕緊開始使用空格,哈哈哈。
事實(shí)上,空格確實(shí)比Tab會(huì)更好一點(diǎn)。
(1)在不同的編輯器里Tab的長度可能會(huì)不一致。這會(huì)導(dǎo)致有Tab的代碼,用不同的編輯器打開時(shí),格式可能會(huì)亂。
(2)代碼壓縮時(shí),空格會(huì)有更好的壓縮率。這里面是信息量的問題,使用了Tab的代碼,仍然會(huì)有空格,比如代碼注釋、運(yùn)算符之間的間隔等等,但使用了空格的代碼,是可以沒有Tab的。Tab也是一個(gè)字符,這就決定了,用Tab的代碼雖然不壓縮的時(shí)候更小,但熵更高,因此壓縮率會(huì)較差,壓縮之后反而更大。
看上去空格似乎完勝,但畢竟還有一個(gè)致命的弱點(diǎn),就是開頭提到的,使用空格的話。你得敲四下才頂?shù)纳蟃ab一下,顯然不科學(xué)啊。那么,有沒有更好的方式呢?顯然是有的!在IDEA中,可以設(shè)置Tab鍵為4個(gè)空格(效果就是,你敲一下Tab鍵,出來的不是一個(gè)Tab字符,而是4個(gè)空格),是不是完美了?方法如下:
一、選擇File→Settings→Editor→Code style→Java,再點(diǎn)擊右邊的Tabs and Indents。
1、將Use tab character的勾選去掉。
2、將Indent設(shè)置為4(即縮進(jìn)為4個(gè)空格)。

二、驗(yàn)證效果。
1、可以選中代碼,使用快捷鍵Ctrl+Alt+L格式化代碼,發(fā)現(xiàn)縮進(jìn)部分可以部分選中,證明是空格不是Tab字符,設(shè)置有效。
2、直接按Tab健,發(fā)現(xiàn)縮進(jìn)部分可以部分選中,證明是空格不是Tab字符,設(shè)置有效。
如何?是不是很方便!
到此這篇關(guān)于IDEA中設(shè)置Tab健為4個(gè)空格的方法的文章就介紹到這了,更多相關(guān)idea tab空格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
RabbitMQ 3.9.7 鏡像模式集群與Springboot 2.5.5 整合
今天我們來聊聊 RabbitMQ 3.9.7 鏡像模式集群與Springboot 2.5.5 整合,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-10-10
SpringBoot原理之自動(dòng)配置機(jī)制詳解
Springboot遵循“約定優(yōu)于配置”的原則,使用注解對(duì)一些常規(guī)的配置項(xiàng)做默認(rèn)配置,減少或不使用xml配置,讓你的項(xiàng)目快速運(yùn)行起來,下面這篇文章主要給大家介紹了關(guān)于SpringBoot原理之自動(dòng)配置機(jī)制的相關(guān)資料,需要的朋友可以參考下2021-11-11
詳解SpringBoot中異步請(qǐng)求的實(shí)現(xiàn)與并行執(zhí)行
這篇文章主要為大家詳細(xì)介紹了在SpringBoot中如何是實(shí)現(xiàn)異步請(qǐng)求、并行執(zhí)行,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02
java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯(cuò)誤解決
這篇文章主要給大家介紹了關(guān)于java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯(cuò)誤的解決方法,文中介紹的非常詳細(xì),需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。2017-03-03
SpringBoot2.0集成WebSocket實(shí)現(xiàn)后臺(tái)向前端推送信息
這篇文章主要介紹了SpringBoot2.0集成WebSocket實(shí)現(xiàn)后臺(tái)向前端推送信息,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
SpringBoot自定義監(jiān)聽器的項(xiàng)目實(shí)踐
Spring Boot提供了強(qiáng)大的事件模型,其中包括多種內(nèi)置監(jiān)聽器,同時(shí)也支持開發(fā)者自定義監(jiān)聽器,下面就來介紹下SpringBoot自定義監(jiān)聽器,感興趣的可以了解一下2024-03-03
java8 利用reduce實(shí)現(xiàn)將列表中的多個(gè)元素的屬性求和并返回操作
這篇文章主要介紹了java8 利用reduce實(shí)現(xiàn)將列表中的多個(gè)元素的屬性求和并返回操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08

