0%

【文章翻譯】Quick assists for editing

【文章內容使用 Gemini 1.5 Pro 自動翻譯產生】

編輯的快速輔助

您是否在編碼時花費太多時間執行重複性的任務?如果是這樣,那麼我有一些好消息要告訴您。許多重複性的任務可以使用我們稱為「快速輔助」的功能自動執行。

快速輔助 是一種自動編輯,旨在對程式碼進行常見的更改。與我們在針對分析問題的快速修復批量應用修復中看到的快速修復不同,快速輔助的存在並不是建議您更改程式碼,它只是為了讓您的工作更輕鬆。

讓我們來看幾個例子。

宣告局部變數

您可能會花費相當多的時間宣告和初始化局部變數。這些工具可以幫助您完成其中的一些工作。如果您輸入初始化運算式,則可以使用快速輔助來建立局部變數以擷取運算式的值。

如果您從下面的程式碼開始,並將游標放在運算式中的任何位置,則燈泡圖示會出現在編輯器左側邊緣附近。如果您將滑鼠懸停在它上面,則可以點擊以打開包含可用快速輔助的選單。

Visual Studio Code
IntelliJ IDEA

選擇輔助會插入變數宣告,使用運算式作為初始化運算式,並選取變數的名稱,以便您可以選擇建議的名稱之一或輸入您自己的名稱:

Visual Studio Code
IntelliJ IDEA

按下 Enter/Return 鍵即可接受輸入的名稱。

函式主體樣式

如果您經常使用運算式主體函式,則您可能需要在某些時候將其轉換為程式碼塊主體函式。也有一個輔助可以做到這一點。例如,如果您有如下程式碼,並且您將游標放在箭頭內,您將看到以下選項:

Visual Studio Code
IntelliJ IDEA

選擇「轉換為程式碼塊主體」會將函式主體改寫為如下所示:

Visual Studio Code
IntelliJ IDEA

是的,還有另一個輔助可以將程式碼塊主體轉換為運算式主體。

改寫 if 陳述式

輔助還可以幫助進行更大的重構。如果您曾經編寫過如下結構的程式碼:

1
2
3
4
5
6
7
void f(int a, int b, int c, int d) {
if (a == b) {
if (a == c || a == d) {
print(0);
}
}
}

並且意識到您可以組合這兩個條件,則有一個輔助可以做到這一點。將游標放在內部的 if 上並打開選單:

Visual Studio Code
IntelliJ IDEA

選擇「將 ‘if’ 陳述式與外部 ‘if’ 陳述式合併」會將程式碼改寫為如下所示:

1
2
3
4
5
void f(int a, int b, int c, int d) {
if (a == b && (a == c || a == d)) {
print(0);
}
}

如果您將游標放在外部的 if 上,輔助也會顯示,但選單會顯示「將 ‘if’ 陳述式與內部 ‘if’ 陳述式合併」。

使用新的語言功能

還有一些輔助可以幫助您轉換到新的語言功能。例如,如果您有一個如下所示的類別:

1
2
3
4
5
6
7
class A {
A({int? x, int? y});
}

class B extends A {
B({int? x, int? y}) : super(x: x, y: y);
}

其中子類別中的建構函式將一些參數傳遞給父類別而不修改它們,則有一種更簡潔的程式碼編寫方式。將游標放在建構函式 B 的名稱上並打開選單:

Visual Studio Code
IntelliJ IDEA

選擇「轉換為使用父類別參數」會將程式碼改寫為如下所示:

Visual Studio Code
IntelliJ IDEA

可用的輔助比我們在一篇文章中所能涵蓋的要多。下次您發現自己要執行經常執行的編輯時,請查看上下文操作,看看是否有輔助可以讓任務更輕鬆。


用於編輯的快速輔助 最初發佈在 Dart 上的 Medium,人們在那裡透過突出顯示和回應這個故事來繼續討論。