[譯] 經常使用 Phpstorm tips (中/共3部分)

摘自: Phpstorm Tipsphp

16 替換單引號/雙引號

要在單引號和雙引號之間切換字符串,請將光標放在字符串內的任意位置,而後按 Alt+Enter 以調用 intention actions  菜單,而後從菜單中選擇Replace quoteshtml

PhpStorm還將識別字符串中是否有引號並使用黑色標記對其進行轉義以防止格式錯誤的代碼。數組

17 轉換數組語法

要將傳統數組 array() 語法轉換爲簡寫 [] 語法,請將光標放在數組上,而後按 Alt+Enter 調用 intention actions 對話框,而後選擇 Convert array to short syntax 選項。bash

若是數組具備嵌套數組,PhpStorm 將遞歸更新全部子數組。phpstorm

18 拼寫修復

要解決你的代碼的錯誤拼寫,隨時隨地把光標放在拼寫錯誤的單詞,並按下 Alt+Enter 鍵來調用 intention actions 的對話框,而後選擇 Typo: Rename to…編輯器

PhpStorm將經過包含文本字段的彈出窗口提示您爲該單詞提供正確的拼寫,或者提供自動填充列表,其中包含可供選擇的拼寫建議供您選擇。若是您不喜歡自動填充列表中的任何內容,則能夠開始鍵入以提供您本身的單詞拼寫。函數

在修復拼寫錯誤時最好利用PhpStorm,由於它會在整個代碼庫中重命名符號(變量,方法,類等)的每一次使用,從而完成全部繁重的工做。工具

19 轉換比較的位置

要將比較運算符兩側的值相互交換,請將光標放在運算符上,而後按 Alt+Enter 調用 intention actions 菜單,而後選擇 Flip ‘X’優化

某些運算符更改參數的順序能夠更改條件的語義,所以在這種狀況下,PhpStorm 將在菜單中顯示 (change semantics) 警告。當您看到此警告時,請確保您的條件仍然有意義。ui

20 生成PHPDoc文檔

要讓 PhpStorm 生成 docblock,請將光標放在方法上,而後按 Alt+Enter 調用 intention actions 菜單,而後選擇 Generate PHPDoc for function . PhpStorm 將爲 @param 每一個參數添加標籤,並從提供的類型提示中包含其數據類型。@return 若是指定了返回類型,它也會添加一個標記,或者它檢測到該函數返回的非空值。

若是 PhpStorm 沒法準確檢測標籤的數據類型,它將使用數據類型 mixed 或徹底省略數據類型。在這些狀況下,請記住本身提供數據類型,若是不許確,請更正。

若是函數參數發生更改,PhpStorm 還能夠爲您更新 docblock,只需再次調用 intent actions 菜單並選擇 Update PHPDoc Comment.

21 初始化字段

一般,傳遞給構造函數的參數存儲在屬性中,以供類的其他部分使用。PhpStorm 可使用構造函數的方法參數建立這些屬性,只需幾個鍵擊操做便可。

將光標放在構造函數的參數列表中的任意位置,而後按 Alt+Enter 以調用 intention actions 菜單,而後選擇 Initialize fields。系統將提示您要選擇初始化的字段, 您能夠選擇一個或多個字段,或按 Ctrl/Cmd+A 選擇列表中的每一個字段。

PhpStorm將爲每一個選定的字段建立一個新的私有屬性,並在它的相應參數後命名,並使用值初始化它。它還將設置 docblock 並嘗試標識識別的字段的數據類型。

22 Emmet

PhpStorm 已經內置了對 Emmet  縮寫的支持; 只需在HTML文件中鍵入相似CSS的縮寫,而後按 Tab 鍵將其展開爲完整標記。

23 Emmet 預覽

打開設置對話框並導航到 Editor | Emmet | HTML,檢查  Enable abbreviation preview(啓用縮寫預覽) 設置。而後 PhpStorm 將在編寫 Emmet 縮寫時顯示生成預覽的彈出窗口。

24 代碼模板

代碼模板(在其餘編輯器中也稱爲片斷)容許您輕鬆地將經常使用的代碼構造插入到代碼中。

只需鍵入縮寫,而後按 Tab 鍵將其展開爲完整的代碼構造。模板能夠包含一個或多個變量或佔位符以插入代碼,按 Tab 鍵將光標移動到下一個變量/佔位符。

按 Cmd/Ctrl+J 查看 Insert Live Template(代碼模板)  彈出對話框,其中列出了當前文件語言的全部可用代碼模板。也能夠經過 Code | Insert Live Template… 菜單項操做。

25 自定義代碼模板

PhpStorm 容許您建立本身的代碼模板(代碼片斷)以優化您的工做流程。

打開設置對話框並進入 Editor | Live Templates,你能夠看到按語言分組的可用代碼模板。要添加新模板,請單擊 +(加號)按鈕,而後選擇 Live Template。指定縮寫(你輸入的文本的縮寫,將擴展爲完整的代碼段)和描述。

而後在 Template text 字段中提供完整的代碼段 。您能夠在模板中以 $<variable name> 格式和$END變量做爲特殊變量,指示在擴展模板以後光標的最終位置以及爲全部變量提供的值。

接下來,單擊 Define 以指定模板所用的語言以及可用的上下文。

如今可使用模板了。打開文件並鍵入先前指定的縮寫,而後單擊 Tab 以展開模板。光標將定位在第一個變量上,提供一個值而後點擊 Tab 以繼續瀏覽全部可用變量。光標的最終位置將是 $END 變量的位置

示例模板

如下是能夠添加到本身的工做流程的一些示例模板:

test: Test 方法

/** @test */
public function it_$NAME$()
{
    $END$
}
複製代碼

dd: Dump & Die

die(var_dump($END$));
複製代碼

bsinput: Bootstrap 表單輸入

<div class="form-group">
    <label for="$ID$">$LABEL$</label>
    <input class="form-control" id="$ID$">
</div>
複製代碼

log: Console 日誌

console.log($END$);
複製代碼

26 重命名模型

按 Ctrl+T (Windows/Linux: Ctrl+Shift+Alt+T) 調用 Refactor This 彈出窗口,或在菜單中選擇 Refactor | Refactor This

或者,按 Shift+F6 直接調用光標下標識的重命名操做。

對於某些符號,如全局範圍中的變量,PhpStorm將調用重命名對話框,而不是 in-place(實時) 重命名符號。對於其餘符號,例如類方法,PhpStorm將在  Find tool window  中預覽更改,以便您在應用它們以前查看將要進行的更改。

27 找到類/方法的使用位置

PhpStorm 能夠在整個項目中找到標識符的全部使用位置; 這包括引用和實例化類的全部地方,調用方法的任何地方,字段寫入和讀取的全部位置等。

要查找標識符的全部用法,請按住 Cmd 鍵(Ctrl for Windows / Linux),而後將鼠標懸停在符號聲明上以將其轉換爲超連接,而後單擊標識符以打開 Usages popup ,其中將列出標識符的用法。

show write access
 圖標強調了正在寫一個值到標識符的用法   
show read access
 圖標顯示從標識符讀取數據的用法

或者,將光標放在符號聲明上,而後按  Alt+F7 查找用法並在 Find 面板中打開它們。或者導航到 Edit | Find | Find Usages  來查找使用位置。

這與 #10導航到聲明相同; 因此你能夠用 Cmd/Ctrl 點擊一個符號用法來導航到標識符聲明,而後用 Cmd/Ctrl 點擊標識符聲明來導航到它的任何一個用法。

28 變量命名建議

在編寫 foreach 循環時,PhpStorm 將根據數組的名稱爲數組項建議合適的變量名。所以,若是您的數組被稱爲 items PhpStorm將建議item 單項形式的條目。

PhpStorm 足夠聰明,可以找出像 peopleoctopi 和 oxen 這樣的單詞形式; 這個單詞的複數形式我還沒搞清楚呢((⊙﹏⊙)b)。

獎金 您能夠經過phpSuggestVariableName 在實時模板變量中合併表達式函數,在自定義實時模板中使用此功能 。

拓展

您能夠經過 phpSuggestVariableName 表達式在實時模板變量使用,在自定義實時模板中使用此功能以便 PhpStorm 給你建議的單詞寫法。

29 查看文件的位置

要在工具面板(項目面板,結構面板等)中選擇當前正在編輯的元素(方法,屬性,文件等),請按Alt+F1 以調用 Select In 彈出窗口,而後選擇要打開元素的面板在。

或者在菜單中打開  Navigate | Select In…

30 操做導航

PhpStorm 容許您直接導航到所需的操做,而無需瀏覽菜單和工具欄,只使用鍵盤。它將操做定義爲:

主菜單和各類上下文菜單的命令,經過主工具欄和工具窗口的工具欄按鈕執行的命令。

按 Cmd+Shift+A(Ctrl+Shift+A on Windows/Linux)以顯示 Actions 彈出窗口,該 彈出窗口容許你按名稱搜索操做。

相關文章
相關標籤/搜索