【问题标题】:Typing /**/ in PHP files在 PHP 文件中输入 /**/
【发布时间】:2018-06-01 10:58:48
【问题描述】:

我使用/**/ 作为提交前需要处理的代码位的个人标记。只要我输入这个:

/**

…编辑认为我想要一个文档块并触发自动完成:

/**| */

... 其中| 是光标。因此,当我输入最后一个斜杠时,我最终得到的是:

/**/| */

这发生在安装了几个 PHP 扩展(包括 PHP DocBlocker 和 Felix Becker 的 PHP 扩展包)以及 --disable-extensions,所以它必须由内置的自动完成触发。

有没有我可以调整的设置来防止这种情况发生?

【问题讨论】:

  • 约定是输入//TODO some comment what to do 然后大多数环境也会自动将其放入待办事项列表中,您可以单击以跳转到该代码块
  • 也许改变你的编码风格会更容易 - 大多数人使用 /** TODO: 不管 */。
  • /** 通常在 IDE 中用于文档 cmets。请参阅 phpdoc.org
  • @Tschallacka 这正是使用不同标记的原因。我想确保第一眼就能检测到我未完成的代码,因此我不会将其提交给版本控制。我不想每次都浏览所有项目范围的待办事项来告诉我我的。
  • @Barmar 当然,/**/ 不是有效的文档块,因为它是空的 :) 我使用的其他编辑器只会在我输入空格、制表符或之后输入时自动完成.

标签: php visual-studio-code


【解决方案1】:

你应该使用

// TODO some_description_of_what_to_do 

/** TODO some_description_of_what_to_do */

这是标记某物的常用约定。

您可以省略描述部分并将其标记为

// TODO* 
// or 
/** TODO */

大多数 IDE(肯定是 PhpStorm)都会突出显示此类注释,您将能够更好地看到它。当您通过 IDE 提交时,还有一个选项可以在提交前检查 TODO 标记。

试试吧,你会发现它有多方便;)

P.S.:如果您使用 Visual Studio Code https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight

【讨论】:

  • 我目前正在处理的代码库有 102 个这样的标记,它是一个小项目。将我的临时标记注入那些感觉就像一个疯狂的想法......
【解决方案2】:

据我所知,该功能是这样工作的,没有setting 可以调整甚至禁用它。因此,我打开了一个功能请求:#51047 autoClosingPairs are too aggressive。 (涉及到autoClosingPairs,因为它的处理方式与括号相同。)

作为解决方法,我创建了一个自定义代码 sn-p:

"/**/": {
    "prefix": "/**/",
    "body": "/**/",
    "description": "Workaround to be able to type /**/"
}

我只需要小心并键入 / + Enter(或 /Tab)但一次你习惯了它实际上可以节省时间。

【讨论】:

    猜你喜欢
    • 2013-12-20
    • 2019-08-03
    • 1970-01-01
    • 2022-01-24
    • 2017-04-18
    • 2016-01-25
    • 1970-01-01
    • 2014-12-12
    • 2010-12-31
    相关资源
    最近更新 更多