如何在Visual Studio代码中使用HTML标记格式化PHP文件?

时间:2016-12-26 11:40:07

标签: php laravel visual-studio-code code-formatting

我正在使用Laravel,因此所有视图都是CoreData个文件。由于PHP扩展,Visual Studio代码不会格式化HTML。我删除了文件名的刀片部分,但它仍然没有正确格式化文件(通过 Alt + Shift + F )。 / p>

我也尝试了五个扩展,但没有一个进行重新格式化。

如何在Visual Studio代码中格式化.blade.php个文件?

9 个答案:

答案 0 :(得分:37)

扩展美化只是做得很好,要么将php和任何其他文件扩展名类型添加到配置中,如上所述,这是一个例子:

  1. 转到用户设置(CTRL +逗号)
  2. 在上面的字段中搜索美化,并识别beautify.language行,然后在铅笔图标中单击左键并单击设置中的替换。它会将配置添加到右侧(用户设置)。
  3. for html section只需添加php和blade.php
  4. enter image description here

    其他: 您也可以直接,输入 F1 然后写美化自动完成为您提供两种选择美化选择美化文件选择您需要的,它将完成这项工作。这是直接的直接方式

    enter image description here

    您还可以添加键绑定以获得键盘快捷键,具体操作方法如下:

    1. 打开keybindings.json(转到文件>偏好设置>键盘快捷键
    2. 点击上方打开并修改 keybindings.json
    3. 将以下内容添加到已关闭的括号[]

      <强> {
              “key”:“alt + b”,
              “命令”:“HookyQR.beautify”,
              “何时”:“editorFocus”
       }

    4. 选择您想要的任何密钥,并确保不覆盖现有密钥,如果存在,则首先在左侧搜索。

      enter image description here

      请注意,所有这些内容都在扩展说明中有详细记录。

答案 1 :(得分:8)

Beautify确实解决了这个问题!许多人添加&#34; blade.php&#34;和&#34; php&#34;到HTML配置Beautify无法识别并手动选择HTML模板。而只是添加&#34; blade&#34;到HTML配置修复所有问题。

答案 2 :(得分:6)

我认为beautify可能会成功。只需将'php'和/或'blade.php'添加到其配置的HTML部分,即可美化PHP / Blade视图文件。适合我!

答案 3 :(得分:1)

如果您想要一些可以解决的问题,请在支持vscode的PHP文件中添加嵌套HTML格式。

使用html.format的所有本机设置,保存时的格式等。尝试扩展名Format HTML in PHP。我之所以成功,是因为其他所有解决方案都让我感到恼火,因为它无法100%正常工作。

答案 4 :(得分:0)

我发现这个extension叫做用PHP格式化HTML 对我来说很好。

答案 5 :(得分:0)

这可以通过对.blade.php使用HTML格式进行格式化

  1. 打开命令面板(CTRL + Shift + P [在计算机上])
  2. 键入“ 首选项:打开设置(JSON)”(用于打开 settings.json
  3. 添加

    “ files.associations”:{         “ * .blade.php”:“ html”,         “ .tpl”:“ html”     },

  

这会将.blade.php格式设置为html,但不会删除刀片片段。

答案 6 :(得分:0)

使用php中的新功能,vscode似乎可以很好地格式化和突出显示嵌入式HTML。 (发布问题后发布的php 7.3)添加了所谓的“ heredoc”和“ neardoc”字符串。它们在这里有很好的描述:https://andy-carter.com/blog/what-are-php-heredoc-nowdoc

基本上,您将HTML放入这样:

[php code.....]
echo
<<<HTML
   <div>
     <h1>This is a headline</h1>
    <p> this is a paragraph. lorem ipsum lorem ipsum blah black </p>
   </div>
HTML;
[^ don't forget the ;  follow with more php if you want]

它在屏幕上看起来很棒。

答案 7 :(得分:0)

我在 PHP 中使用 Format HTML,它在包含 HTML 和 PHP 的文件中运行良好。然而,它似乎并没有格式化一个“纯”的 php 文件,比如一个 Class.php 文件。所以我也安装了 Phpfmt,它在处理纯 php 文件时做得很好,但破坏了混合内容文件中的缩进。这是我得到的一个例子:

<?php
if (!$logged_in) {
    $login_form = 'data-toggle="modal" data-target="#Modal1"';
    $href = '#';
} else {
    $login_form = '';
    $href = 'members';
}
?>

打开的 php 标签与 html 正确对齐。 '我看到在'支持的转换'下它说:

AlignPHPCode:   Align PHP code within HTML block.

但是正如你从上面看到的,它对我不起作用。有什么建议吗??

答案 8 :(得分:-1)

安德鲁·舒尔茨(Andrew Schultz)提到了扩展名:“ [用PHP格式化HTML] [1]” [1]:https://marketplace.visualstudio.com/items?itemName=rifi2k.format-html-in-php。对于具有HTML标记的格式PHP文件,这确实是一个很好的扩展。它还会格式化PHP文件中包含的js。此外。好消息!开发人员已经可以成功地包含Laravel blade.php文件。同时,我通过手动将语言从刀片切换到php来在vscode上格式化Laravel刀片文件,然后使用扩展名[[PHP中格式化HTML] [1]]和CTRL + ALT + F或单击鼠标右键。这对我很有效。