VIM自动插入PHPdoc

标签 vim phpdoc

有没有办法使用命令或组合键在 VIM 中插入 PHPDoc?

例如,我有一个类:

class MyClass
{

  public function __construct() { }
  public function __destruct() { }

  /* command here to insert PHP doc */
  public function abc() { }

}

我想插入如下内容:

/**
* method() 
*
* description
*
* @access   
* @author    
* @param    type    $varname    description
* @return   type    description
* @copyright
* @version
*/

然后我可以手动完成剩下的部分。谢谢

最佳答案

使用轻量级 phpDocumentor plugin 可以非常有效地完成此操作。 。

编辑 Here's a modified version随着最近的发展。

编辑 Here's version 2 of the phpDocumentor plugin 。它比上面两个链接更新。

将插件安装到您的 $VIMFILES/plugin 目录中,并将其添加到您的 .vimrc 中:

" PHP documenter script bound to Control-P
autocmd FileType php inoremap <C-p> <ESC>:call PhpDocSingle()<CR>i
autocmd FileType php nnoremap <C-p> :call PhpDocSingle()<CR>
autocmd FileType php vnoremap <C-p> :call PhpDocRange()<CR> 

上面的代码在插入、正常和可视模式下将 phpDocumentor 绑定(bind)到 Ctrlp。将光标放在类、函数或变量定义上,按 Ctrlp,插件将尝试根据定义形成文档 block 。

示例函数文档 block :

/**
 * testDocBlock 
 * 
 * @param mixed $param1 
 * @param mixed $param2 
 * @static
 * @access public
 * @return boolean
 */
public static function testDocBlock($param1, $param2) {
  // Pressed Ctl-p while cursor was on the function definition line above...
}

示例类文档 block

版权、版本、作者等默认包含在类文档 block 中。您可以修改插件以包含您自己的默认值:

/**
 * TestClass  
 * 
 * @package 
 * @version $id$
 * @copyright 
 * @author Michael <me@exmaple.com> 
 * @license 
 */
class TestClass {

}

完整抽象类示例:

<?php
/**
 * TestClass 
 * 
 * @abstract
 * @package 
 * @version $id$
 * @copyright 
 * @author Michael <email@example.com>
 * @license 
 */
abstract class TestClass {
  /**
   * publicProp  
   * 
   * @var string
   * @access public
   */
  public $publicProp;
  /**
   * privateProp  
   * 
   * @var string
   * @access private
   */
  private $privateProp;

  /**
   * testDocBlock  
   * 
   * @param string $param1 
   * @param string $param2 
   * @static
   * @access public
   * @return boolean
   */
  public static function testDocBlock($param1, $param2) {
    // code here...
  }
}
?>

关于VIM自动插入PHPdoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7603446/

相关文章:

php - 使用 Doxygen 或 PHPDoc 记录获取/发布参数

phpdoc 在解析中使用多个目录

java - 添加和完善PHP源代码文档的工具

shell - 在 fish shell 中运行时 vim 启动时的 vim 错误

vim - 在 Vim 中调整/对齐错误格式输出

vim - 从每行的每个文件路径中提取文件名并在其旁边添加

php - 如何记录 PHPUnit 测试

vim - vimrc 设置和复制剪贴板命令冲突

Vim:如何在编辑特定文件时自动设置 textwidth=60?

phpstorm - 我如何声明一个函数死亡,以便 PhpStorm 检测到它?