上一個(gè)關(guān)于??vscode 的插件??推薦大家看的過(guò)癮不,今天繼續(xù)給大家?guī)?lái)一些關(guān)于android studio的開發(fā)小技巧
我是早起的年輕人-堅(jiān)果
大家可以去微信公眾號(hào)搜“堅(jiān)果前端”
接下來(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)小部件,如下所示:
或者??stful?
?創(chuàng)建有狀態(tài)的小部件:
如果您已經(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 中加快開發(fā)速度的魔杖。您可以單擊任何一個(gè)??widget?
??,按??Alt + Enter?
??或??Option+Return?
??并查看您對(duì)該特定選項(xiàng)有哪些選項(xiàng)??widget?
?。IE:
在小部件周圍添加填充
假設(shè)您有一個(gè)不是 a 的小部件,??Container,?
??因此它沒有??padding?
??屬性。您想提供一些填充,但又害怕弄亂您的小部件結(jié)構(gòu)。使用我們的魔杖,您可以添加您的??Padding?
?東西而不會(huì)弄亂任何東西:
只需點(diǎn)擊需要填充的小部件上的神奇命令(基于您的操作系統(tǒng)),然后單擊??Add Padding?
?現(xiàn)在您可以將默認(rèn)填充修改為您想要的任何內(nèi)容。
將小部件居中
這不是什么太特別的事情。它只是將您的小部件集中在可用空間中。這在列或行內(nèi)不起作用。
用Container、row、Column或任何其他小部件包裝
您可以使用相同的方法用??Container?
??. 所以現(xiàn)在,new??Container?
?成為您的 Widget 的父級(jí)。
或者,您甚至可以通過(guò)單擊??Column?
??或??Row?
?來(lái)包裝多個(gè)小部件!
或者用任何其他小部件包裝它們:
??StreamBuilder?
?如果您擁有最新版本的 Flutter 插件,您甚至可以用container包裝它們。
不喜歡小部件?用魔術(shù)棒取下它。
是的,刪除小部件就像添加新小部件一樣簡(jiǎn)單。
您可以輕松地剪切/復(fù)制一行代碼,只需將光標(biāo)保持在該行的任意位置,然后像往常一樣按下??Ctrl+X?
??或??Ctrl+C?
??并粘貼它 ( ??Ctrl+V?
??)。或者對(duì)于 iOS,同樣可以使用??Command+X?
??, ??Command+C?
??&??Command+V?
?
Ctrl+X
Ctrl+C
查看小部件的源代碼這是開源框架的最佳之處。如果您想知道一個(gè)驚人的小部件或類的幕后發(fā)生了什么,那么您只需將光標(biāo)放在它上面并按??Ctrl + B?
??或??Command+B?
?。它將作為一個(gè)鏈接,將您直接帶到您的 Widget 的源代碼,您可以在其中閱讀有關(guān)它的所有內(nèi)容。Flutter 還使用注釋來(lái)解釋它的許多代碼,從而形成了很好的文檔。
如果您想檢查您的小部件可以做什么而無(wú)需離開您的文件并深入研究文檔,只需按??Ctrl+Shift+I?
??或??Option+SpaceBar?
?快速查看小部件的構(gòu)造函數(shù)。
很多時(shí)候我們需要提取/刪除整個(gè)小部件,我們嘗試手動(dòng)選擇它們:
如果它是一個(gè)非常大的小部件,那么弄清楚哪個(gè)右括號(hào)屬于哪個(gè) Widget 可能會(huì)非常令人困惑,我們不想弄亂我們的整個(gè)結(jié)構(gòu)。
在這種時(shí)候,我喜歡使用這個(gè)超級(jí)有用的快捷方式。
只需單擊要提取的小部件并按??Ctrl+W?
?。為您選擇了整個(gè) Widget,而您的光標(biāo)不會(huì)移動(dòng)一英寸。
有時(shí)你的代碼只會(huì)一團(tuán)糟。有點(diǎn)像這樣:
對(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)并重新格式化代碼。
我們的大多數(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)是這樣的:
現(xiàn)在,您可以清楚地看到哪個(gè) Widget 位于何處、它們?cè)?UI 中的排列方式以及哪些小部件具有其他子小部件。十分簡(jiǎn)單!
將代碼提取到方法中??Flutter Outline?
??是一個(gè)非常有用的工具。你可以做 您所做的大多數(shù)事情都??Alt + Enter,?
??喜歡用 Column 包裹和將 Widget 居中,但在??Flutter Outline?
??選項(xiàng)卡下還有更多很棒的東西可用!其中之一是??Extract Method?
?按鈕。
這里的第四個(gè)按鈕
如果您覺得您正在編寫的 Widget 太長(zhǎng)并且應(yīng)該是一個(gè)自定義的 Widget,那么您無(wú)需手動(dòng)將代碼轉(zhuǎn)換為方法,而是可以使用此工具為您創(chuàng)造奇跡!
你可以做的另一件瘋狂的事情??Flutter Outline?
?是,如果你在一個(gè)小部件中有多個(gè)孩子,你可以輕松地重新排列他們的順序:
您也可以通過(guò)按移動(dòng)只是一個(gè)線向上或者向下??Shift+Alt+Up?
??/??Down?
?重構(gòu)重命名
這是一個(gè)非?;镜墓ぞ?,大多數(shù) IDE 都有。這使您可以重命名方法、小部件、類或文件名,并確保對(duì)它的引用也被重命名。只需使用??Shift + F6?
?并輸入新名稱:
因此,您正在處理一個(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?
?
?
在這里,有時(shí)會(huì)忘記自己的捷徑的人,我也為您準(zhǔn)備了這個(gè)重要的魔法咒語(yǔ)。只需??Ctrl+Shift+A?
?輸入您需要的快捷方式。
這就是我現(xiàn)在知道的所有捷徑。請(qǐng)務(wù)必經(jīng)?;貋?lái)查看更多提示、技巧和其他好東西!
好了,今天的文章到這兒就結(jié)束了,希望未來(lái)和大家一起努力。