我通过Google搜索,但找不到答案。 PhpStorm具有许多用于代码完成的内置注释,但也缺少许多注释。我很确定有一种创建新注释的方法,但是在设置中的任何地方都找不到。也许它是某个地方的XML文件。 NetBeans支持此功能。

换句话说,我如何创建新的phpDoc注释以在phpStorm 8中完成,例如phpUnit的@usesDefaultClass

最佳答案

我在这里找到了这个答案:http://blog.jetbrains.com/webide/2013/02/phpdoc_and_code_templates/
希望这个能对您有所帮助

PhpDoc模板

PhpDoc模板位于“设置” |“设置”下。文件模板|包括。当前有三个模板,分别命名为PHP类文档注释,PHP函数文档注释和PHP字段文档注释。这些都可以通过#parse指令包含在其他模板中。例如,我们可以修改原始的类模板(Templates | PHP Class),使其在生成类时也包括类PHP Doc:

<?php
#parse("PHP File Header.php")
...
#parse("PHP Class Doc Comment")
class ${NAME} {
}


在以下情况下使用相同的模板:

在我们键入/ **并在类,函数(方法)或类字段之前按Enter,将生成一个新的PHP Doc注释。
我们调用代码|产生| PHPDoc阻止或使用“添加PHP Doc”快速修复来检查“缺少PHP Doc”。
以下是可在PHP Doc模板中使用的变量列表:

${NAME}

The element (class, function, field) name.
${NAMESPACE}

The name of the namespace the element belongs to without any leading or trailing backslashes, for example Core\Widgets. The variable value is empty if the element doesn’t belong to any namespace. A check like `#if (${NAMESPACE})` ... is possible.
${CLASS_NAME}

Contains a class name for class methods and fields. Will be empty for functions that do not belong to any class.
${TYPE_HINT}

For functions (methods), contains the return type of the function (method). For fields, evaluates to the field’s type if it can be found, for example, from a default value. Will be empty if the type cannot be retrieved from the code.
${STATIC}

Takes the value of “static” if the function or field is static, otherwise, an empty string. We can use this variable with the condition `#if (${STATIC})` ... to generate something specific for static class members.
${CARET}

Marks the position where the editor caret should be placed after the comment is added. Note: Works only if the comment is added after we type “/**” and hit Enter. Should be placed inside the comment, not on the first line /** or on the last line */. In all other cases the caret marker will be ignored.
${PARAM_DOC}

A generated PHP Doc fragment containing function (method) parameters in the form: “* @param type $name“. For example, if the function signature is foo ($x, $y), it will evaluate to:



@参数$ x
@param $ y

$ {THROWS_DOC}

生成的PHP Doc片段,包含以函数(cc)形式从函数(方法)主体抛出的异常。每行/ @ throws标签一个异常。例如:


@抛出DOMException
@抛出HttpException



覆盖/实现方法的代码模板

可以在“设置” |“设置”下找到以下模板。文件模板|代码:PHP实现的方法主体和PHP重写的方法主体。参数很少,考虑到在大多数情况下,我们将需要对父方法的简单调用或我们自己的注释(也许是TODO的某些版本):

${NAME}

Method name.
${PARAM_LIST}

A comma-separated list of parameters. For example, if the original method signature is foo(Bar $bar, $y), the variable will take the value “$bar, $x” which can be used in a call to the parent method as `${NAME}(${PARAM_LIST})`”
${RETURN}

Either “return” or an empty string.


美元符号变量:* @throws ExceptionName

解决了在模板中的任何位置放置美元符号$的问题。实际上,PHP和Velocity模板引擎中都使用了美元符号,以保护后台的代码生成。因此,每当我们需要美元符号时,只需使用${DS}作为其等效符号即可。例如,如果要生成${DS},则需要放入$this->foo()。这可能看起来并不完美,但可以保证不会发生冲突。

关于phpstorm - 如何在PhpStorm 8中创建新的phpDoc批注,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27000765/

10-11 15:20