有点琐碎的问题,但在这里。我无法弄清楚为什么VS代码自动填充(带标签)所有html标签,而php标签没有。当我输入" php"并点击标签,它创建了这个:
<php></php>
这是无用的,我不知道它为什么会在那里。我希望它能做正常的php标记
<?php ?>
我关闭了建议,因为他们分散了我的注意力。无论如何编辑默认/顶部&#34;标签自动完成&#34;项目?
答案 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扩展。