直到最近,使用 IntelliJ IDEA(macOS 鍵盤快捷鍵:)中的“洗掉到單詞結尾”功能??將洗掉當前行的末尾以及下一行第一個單詞之前的任何前導空格:
Line 1
Line 2
=>
Line1Line2
這在過去一兩年內發生了變化,以保留下一行的前導空格:
Line 1
Line 2
=>
Line1 Line2
我更喜歡以前的行為。在清理代碼以提高可讀性時,我經常使用此功能將跨多行的代碼拉到一行中。以前的一組擊鍵現在是兩個(我需要使用兩次“洗掉到單詞結尾”組合鍵)。更糟糕的是,如果下一行恰好沒有前導空格,我必須覆寫肌肉記憶并且只鍵入一次快捷方式,否則我將洗掉下一行的部分或全部代碼。
作為一個簡約但現實的例子,我可能會使用這種行為來進行以下代碼轉換:
List<String> myList = otherList.stream()
.map(this::aMethod)
.toList();
=>
List<String> myList = otherList.stream()
.map(this::aMethod).toList();
我不知道具體是哪個版本發生了變化,但我有一個 2016 年的 IntelliJ IDEA 版本,它具有舊功能,一個 2021 版本具有新功能。我認為變化發生在 2020 年或 2021 年。
有沒有辦法將行為恢復到以前的功能(或者可能是不同名稱的等效功能)?
uj5u.com熱心網友回復:
雖然它的功能并不完全相同,但該Join Lines操作(??J在 macOS 上)在許多情況下實作了相同的目標。無論插入符號在當前行的哪個位置,它都會以背景關系相關的方式將當前行連接到下一行。
對于給定的 Java 方法呼叫示例,它完全具有將方法呼叫移動到當前行而不帶任何空格的預期行為:
List<String> myList = otherList.stream()
.map(this::aMethod)
.toList();
=>
List<String> myList = otherList.stream()
.map(this::aMethod).toList();
對于拆分為兩行的連接 Java 字串,它將洗掉字串連接運算子,將兩個字串合并為一個:
System.out.println("A"
"B");
=>
System.out.println("AB");
在純文本檔案中,它將合并行,在第二行的非空格文本之前有一個空格:
Line 1
Line 2
=>
Line 1 Line 2
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/505778.html
