VS代码php标记自动完成

VS代码php标记自动完成,php,autocomplete,visual-studio-code,vscode-settings,Php,Autocomplete,Visual Studio Code,Vscode Settings,这是一个很小的问题,但问题来了。我不明白为什么VS代码自动完成(带tab)所有html标记而php标记不正确。当我键入“php”并点击tab时,它会创建以下内容: 这是无用的,我不知道它为什么会在那里。我希望它做普通的php标记 我拒绝了这些建议,因为它们分散了我的注意力。是否仍要编辑默认/顶部“选项卡自动完成”项目 我从您的问题中了解到,您没有添加外部PHP IntelliSense扩展,也没有使用VS代码提供的默认PHP IntelliSense,如果是这种情况,您需要将扩展添加到Vis

这是一个很小的问题,但问题来了。我不明白为什么VS代码自动完成(带tab)所有html标记而php标记不正确。当我键入“php”并点击tab时,它会创建以下内容:

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


我拒绝了这些建议,因为它们分散了我的注意力。是否仍要编辑默认/顶部“选项卡自动完成”项目

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

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

我建议禁用VS Code的内置PHP IntelliSense,方法是在编辑器的设置json配置中添加以下属性“PHP.suggest.basic”:false(键盘按Ctrl+,您将获得编辑器右侧的设置json),以避免重复建议


要使PHP IntelliSense正常工作,您至少需要安装PHP7,您可以将其添加到路径中,或者在设置json中设置
“PHP.executablePath”:“PHP物理路径”
(键盘按Ctrl+,您将获得设置json)

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

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

我建议禁用VS Code的内置PHP IntelliSense,方法是在编辑器的设置json配置中添加以下属性“PHP.suggest.basic”:false(键盘按Ctrl+,您将获得编辑器右侧的设置json),以避免重复建议


要使PHP IntelliSense正常工作,您需要至少安装PHP7,您可以将其添加到路径中,或者在设置json中设置
“PHP.executablePath”:“PHP物理路径”
(键盘按Ctrl+,您将获得设置json)

这项技术对我有效:转到“首选项:打开用户代码片段”,并将此代码段粘贴到
html
(是的,这是html)用户代码段中:

"php": {
    "prefix": "php",
    "body": [
        "<?php $1 ?>"
    ],
    "description": "php tag"
}
“php”:{
“前缀”:“php”,
“正文”:[
""
],
“说明”:“php标记”
}

这项技术对我有效:转到“首选项:打开用户代码片段”,并将此代码片段粘贴到
html
(是的,这是html)用户代码片段中:

"php": {
    "prefix": "php",
    "body": [
        "<?php $1 ?>"
    ],
    "description": "php tag"
}
“php”:{
“前缀”:“php”,
“正文”:[
""
],
“说明”:“php标记”
}

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

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

{
  // Place your snippets for html here. 
  "php": {
    "prefix": "php",
    "body": ["<?php", "$0", "?>"],
    "description": "php tag"
  }
}
{
//将html代码片段放在此处。
“php”:{
“前缀”:“php”,
“正文”:[“”],
“说明”:“php标记”
}
}

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

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

{
  // Place your snippets for html here. 
  "php": {
    "prefix": "php",
    "body": ["<?php", "$0", "?>"],
    "description": "php tag"
  }
}
{
//将html代码片段放在此处。
“php”:{
“前缀”:“php”,
“正文”:[“”],
“说明”:“php标记”
}
}

我更喜欢在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 ?>"
  }
}
{
“键”:“cmd+alt+ctrl+p”,
“命令”:“editor.action.insertSnippet”,
“何时”:“editorTextFocus”,
“args”:{
“代码段”:”
}
}

我更喜欢在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 ?>"
  }
}
{
“键”:“cmd+alt+ctrl+p”,
“命令”:“editor.action.insertSnippet”,
“何时”:“editorTextFocus”,
“args”:{
“代码段”:”
}
}

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

"php": {
    "prefix": "php",
    "body": [
        "<?php $1 ; ?>",
        "$2"
    ],
    "description": "php tag"
}
“php”:{
“前缀”:“php”,
“正文”:[
"",
"$2"
],
“说明”:“php标记”
}

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

"php": {
    "prefix": "php",
    "body": [
        "<?php $1 ; ?>",
        "$2"
    ],
    "description": "php tag"
}
“php”:{
“前缀”:“php”,
“正文”:[
"",
"$2"
],
“说明”:“php标记”
}

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

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