VS Code php标签自动完成

时间:2017-04-30 10:34:32

标签: php autocomplete visual-studio-code vscode-settings

有点琐碎的问题,但在这里。我无法弄清楚为什么VS代码自动填充(带标签)所有html标签,而php标签没有。当我输入" php"并点击标签,它创建了这个:

  

<php></php>

这是无用的,我不知道它为什么会在那里。我希望它能做正常的php标记

  

<?php ?>

我关闭了建议,因为他们分散了我的注意力。无论如何编辑默认/顶部&#34;标签自动完成&#34;项目?

8 个答案:

答案 0 :(得分:48)

这个黑客为我工作:转到'首选项:打开用户代码段',并将此代码段粘贴到html(是的,那是html)用户代码段中:

"php": {
    "prefix": "php",
    "body": [
        "<?php $1 ?>"
    ],
    "description": "php tag"
}

答案 1 :(得分:3)

文件>首选项下,有用户代码段,使用html添加php代码段。

{
  "Snippet name": {
  "prefix": ["keywords", "for", "finding"],
  "body": [
    "<?php ${1:placeholder} ?>"
  ],
  "description": "A php tag."
  }
}

$ 1,$ 2等是输入摘要时将聚焦的变量。您也可以使用示例中显示的占位符。

对于多行正文,请在当前行末添加逗号,并在“”中的新行中添加内容。您可以在VS Code中找到有关创建自己的代码片段的更多信息:

https://code.visualstudio.com/docs/editor/userdefinedsnippets

答案 2 :(得分:2)

我将把$ 0表示的最终光标放在标签之间的新行中,详细说明Lane的答案。在代码段中,“ body”数组中的每个逗号代表换行符。

因此,在Visual Sutiio代码中,转到“文件”>“首选项”>“用户片段” 搜索“ html.json” 并通过粘贴以下内容进行编辑:

{
  // Place your snippets for html here. 
  "php": {
    "prefix": "php",
    "body": ["<?php", "$0", "?>"],
    "description": "php tag"
  }
}

答案 3 :(得分:1)

进入 File > Preferences > User Snippets 现在在 bar php 中写入并按 Enter 。

vs 代码生成名为 php.code-snippets 的文件,现在在这里粘贴:

  { 

    // Place your GLOBAL snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and 
    // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
    // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is 
    // used to trigger the snippet and the body will be expanded and inserted. Possible variables are: 
    // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. 
    // Placeholders with the same ids are connected.
    // Example:
    "php": {
            
        "prefix": "php",
        "body": [
            "<?php //put here code ?>"
        ],
        "description": "php tag"
    } 
}

答案 4 :(得分:0)

我从您的问题中了解到,您没有添加外部 PHP IntelliSense 扩展并使用VS代码提供的默认PHP IntelliSense,如果是这种情况,您需要将扩展​​添加到您的Visual Studio代码编辑器。

要添加扩展程序使用键盘并按 Ctrl + Shift + p ,您将获得命令面板并键入以下命令Extensions: Install Extension然后在编辑器的左侧面板上,您将获取搜索扩展名的选项,您可以搜索PHP IntelliSense并安装它。编辑将要求重新启动编辑器以应用扩展名。

我建议通过将以下属性"php.suggest.basic":false添加到编辑器的json配置中来禁用VS Code的内置PHP IntelliSense(键盘按 Ctrl +,您将获得json的设置在编辑的右边)以避免重复的建议。

让PHP IntelliSense正常工作您需要安装至少PHP 7,您可以将其添加到PATH中或在json设置中设置"php.executablePath":"php physical path"(键盘按 Ctrl +,你将得到设置json)

答案 5 :(得分:0)

我更喜欢在keybindings.json中添加自定义键盘快捷键-这使您可以在intellisense无法正常工作的地方添加php标签,例如在html属性的引号内。您还可以选择一些文本(也许您从其他地方复制了一些php,但没有完整的php标签),然后自动将其包装在php标签中。这是我使用的:

{
  "key": "cmd+alt+ctrl+p",
  "command": "editor.action.insertSnippet",
  "when": "editorTextFocus",
  "args": {
    "snippet": "<?php $1$TM_SELECTED_TEXT$0 ?>"
  }
}

答案 6 :(得分:0)

在Visual Studio代码中,转到“文件”>“首选项”>“用户片段”>“ html.json”文件,然后粘贴以下代码:

"php": {
    "prefix": "php",
    "body": [
        "<?php $1 ; ?>",
        "$2"
    ],
    "description": "php tag"
}

答案 7 :(得分:-2)

也许您应该安装PHP Awesome Snippetts扩展。