Flutter — 加快開發(fā)速度的 IDE 快捷方式

上一個(gè)關(guān)于??vscode 的插件??推薦大家看的過(guò)癮不,今天繼續(xù)給大家?guī)?lái)一些關(guān)于android studio的開發(fā)小技巧

我是早起的年輕人-堅(jiān)果

大家可以去微信公眾號(hào)搜“堅(jiān)果前端”


Flutter

接下來(lái)開始正文。

如果您是 Flutter 開發(fā)的新手,那么您一定會(huì)抱怨嵌套結(jié)構(gòu)、在代碼中間添加或刪除小部件有多難,或者找到一個(gè)小部件在哪里結(jié)束而另一個(gè)小部件從哪里開始有多難。然后,您花了一整天的時(shí)間將左括號(hào)與其右括號(hào)匹配,或者至少嘗試匹配。你并不孤單,我們都去過(guò)那里。我們花了一些時(shí)間來(lái)找出捷徑,但也許您不必經(jīng)歷那些,因?yàn)槲覟槟?wù);我已經(jīng)策劃了所有這些快捷方式,這些快捷方式允許在 Flutter 中進(jìn)行更快、更流暢的開發(fā)。

創(chuàng)建一個(gè)新的無(wú)狀態(tài)或有狀態(tài)小部件

你猜怎么著?您不必手動(dòng)編寫小部件類并覆蓋構(gòu)建函數(shù)。IDE 可以為您做到!

只需鍵入??stless??即可創(chuàng)建一個(gè)無(wú)狀態(tài)小部件,如下所示:


Flutter

或者??stful??創(chuàng)建有狀態(tài)的小部件:


Flutter

如果您已經(jīng)創(chuàng)建了一個(gè)??Stateless Widget???并添加了很多子項(xiàng),但后來(lái)意識(shí)到您??State???畢竟需要一個(gè),該怎么辦?您是否應(yīng)該創(chuàng)建一個(gè)新的??StatefulWidget??然后手動(dòng)將所有代碼轉(zhuǎn)移到它?你不必!

您只需將光標(biāo)放在 上??StatelessWidget???,按??Alt + Enter???或??Option + Return???并單擊??Convert to StatefulWidget??。將自動(dòng)為您創(chuàng)建所有樣板代碼。

夏天!


Flutter

你可以用 Alt+Enter 做更多神奇的事情 | 選項(xiàng)+返回

這是您在 Flutter 中加快開發(fā)速度的魔杖。您可以單擊任何一個(gè)??widget???,按??Alt + Enter???或??Option+Return???并查看您對(duì)該特定選項(xiàng)有哪些選項(xiàng)??widget??。IE:

在小部件周圍添加填充

假設(shè)您有一個(gè)不是 a 的小部件,??Container,???因此它沒有??padding???屬性。您想提供一些填充,但又害怕弄亂您的小部件結(jié)構(gòu)。使用我們的魔杖,您可以添加您的??Padding??東西而不會(huì)弄亂任何東西:


Flutter

只需點(diǎn)擊需要填充的小部件上的神奇命令(基于您的操作系統(tǒng)),然后單擊??Add Padding??現(xiàn)在您可以將默認(rèn)填充修改為您想要的任何內(nèi)容。

將小部件居中

這不是什么太特別的事情。它只是將您的小部件集中在可用空間中。這在列或行內(nèi)不起作用。


Flutter

用Container、row、Column或任何其他小部件包裝

您可以使用相同的方法用??Container???. 所以現(xiàn)在,new??Container??成為您的 Widget 的父級(jí)。


Flutter

或者,您甚至可以通過(guò)單擊??Column???或??Row??來(lái)包裝多個(gè)小部件!


Flutter

或者用任何其他小部件包裝它們:


Flutter

??StreamBuilder??如果您擁有最新版本的 Flutter 插件,您甚至可以用container包裝它們。

Flutter

不喜歡小部件?用魔術(shù)棒取下它。

是的,刪除小部件就像添加新小部件一樣簡(jiǎn)單。


Flutter

輕松復(fù)制粘貼或剪切粘貼一行代碼

您可以輕松地剪切/復(fù)制一行代碼,只需將光標(biāo)保持在該行的任意位置,然后像往常一樣按下??Ctrl+X???或??Ctrl+C???并粘貼它 ( ??Ctrl+V???)。或者對(duì)于 iOS,同樣可以使用??Command+X???, ??Command+C???&??Command+V??


Flutter

Ctrl+X


Flutter

Ctrl+C

查看小部件的源代碼

這是開源框架的最佳之處。如果您想知道一個(gè)驚人的小部件或類的幕后發(fā)生了什么,那么您只需將光標(biāo)放在它上面并按??Ctrl + B???或??Command+B??。它將作為一個(gè)鏈接,將您直接帶到您的 Widget 的源代碼,您可以在其中閱讀有關(guān)它的所有內(nèi)容。Flutter 還使用注釋來(lái)解釋它的許多代碼,從而形成了很好的文檔。


Flutter

在不離開文件或選項(xiàng)卡的情況下檢查小部件的屬性

如果您想檢查您的小部件可以做什么而無(wú)需離開您的文件并深入研究文檔,只需按??Ctrl+Shift+I???或??Option+SpaceBar??快速查看小部件的構(gòu)造函數(shù)。

Flutter

快速選擇整個(gè)小部件

很多時(shí)候我們需要提取/刪除整個(gè)小部件,我們嘗試手動(dòng)選擇它們:


Flutter

如果它是一個(gè)非常大的小部件,那么弄清楚哪個(gè)右括號(hào)屬于哪個(gè) Widget 可能會(huì)非常令人困惑,我們不想弄亂我們的整個(gè)結(jié)構(gòu)。

在這種時(shí)候,我喜歡使用這個(gè)超級(jí)有用的快捷方式。

只需單擊要提取的小部件并按??Ctrl+W??為您選擇了整個(gè) Widget,而您的光標(biāo)不會(huì)移動(dòng)一英寸。


Flutter

修復(fù)代碼結(jié)構(gòu)

有時(shí)你的代碼只會(huì)一團(tuán)糟。有點(diǎn)像這樣:


Flutter

對(duì)于像我這樣對(duì)沒有適當(dāng)縮進(jìn)的代碼感到有點(diǎn)強(qiáng)迫癥的人來(lái)說(shuō),這可能是一場(chǎng)噩夢(mèng)。

現(xiàn)在,大多數(shù) IDE 都具有此功能(盡管可能不是相同的組合鍵)。只需按下??Ctrl+Alt+L??即可修復(fù)縮進(jìn)并重新格式化代碼。


Flutter


查看用戶界面的輪廓

我們的大多數(shù) Widget 的樹中都沒有只有一個(gè)孩子。他們有孩子的樹,有自己的孩子,還有更多。如果您的 Widget 的子級(jí)嵌套只有四層深,那么僅通過(guò)滾動(dòng)瀏覽代碼就很難理解代碼的結(jié)構(gòu)。謝天謝地,我們必須??Flutter Outline??來(lái)拯救我們!

您可以??Flutter Outline???在 IDE 的最右側(cè)找到;它是垂直選項(xiàng)卡之一,位于??Flutter Inspector??. 當(dāng)你打開它時(shí),它看起來(lái)是這樣的:


Flutter

現(xiàn)在,您可以清楚地看到哪個(gè) Widget 位于何處、它們?cè)?UI 中的排列方式以及哪些小部件具有其他子小部件。十分簡(jiǎn)單!

將代碼提取到方法中

??Flutter Outline???是一個(gè)非常有用的工具。你可以做 您所做的大多數(shù)事情都??Alt + Enter,???喜歡用 Column 包裹和將 Widget 居中,但在??Flutter Outline???選項(xiàng)卡下還有更多很棒的東西可用!其中之一是??Extract Method??按鈕。


Flutter

這里的第四個(gè)按鈕

如果您覺得您正在編寫的 Widget 太長(zhǎng)并且應(yīng)該是一個(gè)自定義的 Widget,那么您無(wú)需手動(dòng)將代碼轉(zhuǎn)換為方法,而是可以使用此工具為您創(chuàng)造奇跡!


Flutter

上下移動(dòng)小部件

你可以做的另一件瘋狂的事情??Flutter Outline??是,如果你在一個(gè)小部件中有多個(gè)孩子,你可以輕松地重新排列他們的順序:


Flutter

您也可以通過(guò)按移動(dòng)只是一個(gè)線向上或者向下??Shift+Alt+Up???/??Down??重構(gòu)重命名

這是一個(gè)非?;镜墓ぞ?,大多數(shù) IDE 都有。這使您可以重命名方法、小部件、類或文件名,并確保對(duì)它的引用也被重命名。只需使用??Shift + F6??并輸入新名稱:


Flutter

刪除未使用的導(dǎo)入

因此,您正在處理一個(gè)項(xiàng)目并導(dǎo)入了大量文件,但隨著時(shí)間的推移,您的代碼會(huì)得到越來(lái)越多的優(yōu)化。最終,您可能不再需要大量這些導(dǎo)入?,F(xiàn)在您已準(zhǔn)備好將代碼投入生產(chǎn),但您需要對(duì)其進(jìn)行清理并刪除所有未使用的導(dǎo)入。也許您通常手動(dòng)刪除它們,但由于我在這里讓您的生活更輕松,這里有一個(gè)非常漂亮的鍵盤組合:??Ctrl+Alt+O??


Flutter

堅(jiān)果,我什么都不記得了

?

在這里,有時(shí)會(huì)忘記自己的捷徑的人,我也為您準(zhǔn)備了這個(gè)重要的魔法咒語(yǔ)。只需??Ctrl+Shift+A??輸入您需要的快捷方式。


Flutter

這就是我現(xiàn)在知道的所有捷徑。請(qǐng)務(wù)必經(jīng)?;貋?lái)查看更多提示、技巧和其他好東西!

好了,今天的文章到這兒就結(jié)束了,希望未來(lái)和大家一起努力。