[译] 经常使用 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 弹出窗口,该 弹出窗口容许你按名称搜索操做。

相关文章
相关标签/搜索