如何在 Visual Studio 代码中使用 HTML 标记格式化 PHP 文件?
How can I format PHP files with HTML markup in Visual Studio Code?
我正在使用 Laravel,所以所有视图都是 .blade.php
文件。 Visual Studio 由于 PHP 扩展名,代码不会格式化 HTML。我删除了文件名的 "blade" 部分,但它仍然没有正确格式化文件(通过 Alt+Shift+F).
我还尝试了大约五个扩展,但其中 none 个进行了重新格式化。
如何在 Visual Studio 代码中格式化 .blade.php
个文件?
我认为 Beautify(来自 HookyQR)可能会成功。只需将 'php' and/or 'blade.php' 添加到其配置的 HTML 部分即可美化 PHP / Blade 视图文件。
对我有用!
扩展名Beautify (from HookyQR) just does it very well. Either add PHP, and any other file extension type, to the configuration. As said by Nico,这里是一个例子:
转到用户设置 (Ctrl + Shift + P → 用户设置 (UI) 或 Ctrl + , (逗号)
在上面的字段中搜索美化。然后点击 "在 settings.json" 中编辑" for "Beautify: Config".
对于 "html" 部分,添加 "php" 和"blade".
###用法
您可以直接调用它。按F1,然后写Beautify。 自动完成给你两个选择,“美化文件”和“美化选择”。 选择您需要的那个,它将完成工作。这是一个直截了当的直接方式。
您还可以添加键绑定以获得键盘快捷键。方法如下:
打开 keybindings.json(转到菜单 文件 → 首选项 → 键盘快捷键)
点击上面的。打开并编辑文件 keybindings.json
将以下内容添加到右括号中,[]
{
"key": "alt+b",
"command": "HookyQR.beautify",
"when": "editorFocus"
}
选择您想要的任何密钥,并确保您没有覆盖现有密钥。有没有先在左边搜索
请注意,所有这些内容都在扩展说明中有详细记录。
额外:关于 blade
的注释
(@Peter Mortensen 澄清的套件)
blade 或 blade.php
如果你搞不清设置是blade
还是blade.php
!我会为你清理它!是blade
!这是该语言的 vscode 关键字!
你怎么知道的?
首先,如果您打开如下图所示的语言列表:
写入blade
可以看到Laravel Blade (blade)
!语言关键字在括号中! blade!
嗯,但是怎么查!
尝试在设置中使用 blade.php
!
努力美化
你会得到一个询问上下文菜单,询问什么语言(html、css、js)!
所以它不起作用!
要真正知道!放回去blade
!
而且会直接工作和美化!
它与 blade
的配合情况如何
这个问题的答案真棒!试试吧,亲眼看看!
但如果你问我!我会说它与 html 一样有效!它可能太方便了!您可能需要修复一些线路!取决于您的期望和风格![=29=]
这里有插图!我故意搞砸了缩进
这里是美化结果:
Beautify(来自HookyQR)确实解决了这个问题!
很多人将"blade.php"和"php"添加到HTML配置中。 Beautify 无法识别并手动选择 HTML 模板。相反,只需将 "blade" 添加到 HTML 配置即可解决所有问题。
如果您想要开箱即用的东西,请在 PHP 文件中添加嵌套格式 HTML 支持 Visual Studio 代码应该已经有了。
它使用 html.format、保存格式等的所有本机设置。试试扩展 Format HTML in PHP。我做到了,因为所有其他解决方案都让我恼火,因为它没有 100% 有效。
我发现 this extension 在 PHP 中称为 Format HTML 对我来说效果很好。
Andrew Schultz mentioned the extension: "Format HTML in PHP".
对于带有 HTML 标记的格式 PHP 文件,这确实是一个很好的扩展。它还格式化 PHP 文件中包含的 JavaScript 代码。
而且。好消息!开发人员已经成功地包含 Laravel blade.php 文件。同时,我通过 Blade to PHP then I use the extension "Format HTML in PHP" 和 Ctrl + [=18 手动切换语言,在 Visual Studio 代码中格式化 Laravel blade 文件=]Alt + F 或右键单击。对我来说效果很好。
这可以通过对 ".blade.php":
使用 HTML 格式来完成
- 打开命令面板 (Ctrl + Shift + P(在电脑上))
- 输入“Preferences:Open Settings (JSON)”(这是为了打开settings.json)
- 添加
"files.associations": {
"*.blade.php": "html",
"*.tpl": "html"
},
这会将 .blade.php 文件格式化为 HTML,但不会删除 Blade 片段。
使用 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]
它在屏幕上看起来很棒。
我在 PHP 中使用格式 HTML,它在包含 HTML 和 PHP 的文件中运行良好。但是它似乎没有格式化 'pure' php 文件,例如 Class。所以我还安装了 Phpfmt,它在处理纯 php 文件时表现出色,但会破坏包含混合内容的文件中的缩进。这是我得到的示例:
<?php
if (!$logged_in) {
$login_form = 'data-toggle="modal" data-target="#Modal1"';
$href = '#';
} else {
$login_form = '';
$href = 'members';
}
?>
开头的 php 标签与 html 正确对齐。 '我在 'Supported Transformations' 下看到它说:
AlignPHPCode: Align PHP code within HTML block.
但是正如您从上面看到的,它对我不起作用。有什么建议吗??
我正在使用 Laravel,所以所有视图都是 .blade.php
文件。 Visual Studio 由于 PHP 扩展名,代码不会格式化 HTML。我删除了文件名的 "blade" 部分,但它仍然没有正确格式化文件(通过 Alt+Shift+F).
我还尝试了大约五个扩展,但其中 none 个进行了重新格式化。
如何在 Visual Studio 代码中格式化 .blade.php
个文件?
我认为 Beautify(来自 HookyQR)可能会成功。只需将 'php' and/or 'blade.php' 添加到其配置的 HTML 部分即可美化 PHP / Blade 视图文件。
对我有用!
扩展名Beautify (from HookyQR) just does it very well. Either add PHP, and any other file extension type, to the configuration. As said by Nico,这里是一个例子:
转到用户设置 (Ctrl + Shift + P → 用户设置 (UI) 或 Ctrl + , (逗号)
在上面的字段中搜索美化。然后点击 "在 settings.json" 中编辑" for "Beautify: Config".
对于 "html" 部分,添加 "php" 和"blade".
###用法
您可以直接调用它。按F1,然后写Beautify。 自动完成给你两个选择,“美化文件”和“美化选择”。 选择您需要的那个,它将完成工作。这是一个直截了当的直接方式。
您还可以添加键绑定以获得键盘快捷键。方法如下:
打开 keybindings.json(转到菜单 文件 → 首选项 → 键盘快捷键)
点击上面的。打开并编辑文件 keybindings.json
将以下内容添加到右括号中,[]
{ "key": "alt+b", "command": "HookyQR.beautify", "when": "editorFocus" }
选择您想要的任何密钥,并确保您没有覆盖现有密钥。有没有先在左边搜索
请注意,所有这些内容都在扩展说明中有详细记录。
额外:关于 blade
的注释(@Peter Mortensen 澄清的套件)
blade 或 blade.php
如果你搞不清设置是blade
还是blade.php
!我会为你清理它!是blade
!这是该语言的 vscode 关键字!
你怎么知道的?
首先,如果您打开如下图所示的语言列表:
写入blade
可以看到Laravel Blade (blade)
!语言关键字在括号中! blade!
嗯,但是怎么查!
尝试在设置中使用 blade.php
!
努力美化
你会得到一个询问上下文菜单,询问什么语言(html、css、js)!
所以它不起作用!
要真正知道!放回去blade
!
而且会直接工作和美化!
它与 blade
的配合情况如何这个问题的答案真棒!试试吧,亲眼看看!
但如果你问我!我会说它与 html 一样有效!它可能太方便了!您可能需要修复一些线路!取决于您的期望和风格![=29=]
这里有插图!我故意搞砸了缩进
这里是美化结果:
Beautify(来自HookyQR)确实解决了这个问题!
很多人将"blade.php"和"php"添加到HTML配置中。 Beautify 无法识别并手动选择 HTML 模板。相反,只需将 "blade" 添加到 HTML 配置即可解决所有问题。
如果您想要开箱即用的东西,请在 PHP 文件中添加嵌套格式 HTML 支持 Visual Studio 代码应该已经有了。
它使用 html.format、保存格式等的所有本机设置。试试扩展 Format HTML in PHP。我做到了,因为所有其他解决方案都让我恼火,因为它没有 100% 有效。
我发现 this extension 在 PHP 中称为 Format HTML 对我来说效果很好。
Andrew Schultz mentioned the extension: "Format HTML in PHP".
对于带有 HTML 标记的格式 PHP 文件,这确实是一个很好的扩展。它还格式化 PHP 文件中包含的 JavaScript 代码。
而且。好消息!开发人员已经成功地包含 Laravel blade.php 文件。同时,我通过 Blade to PHP then I use the extension "Format HTML in PHP" 和 Ctrl + [=18 手动切换语言,在 Visual Studio 代码中格式化 Laravel blade 文件=]Alt + F 或右键单击。对我来说效果很好。
这可以通过对 ".blade.php":
使用 HTML 格式来完成- 打开命令面板 (Ctrl + Shift + P(在电脑上))
- 输入“Preferences:Open Settings (JSON)”(这是为了打开settings.json)
- 添加
"files.associations": { "*.blade.php": "html", "*.tpl": "html" },
这会将 .blade.php 文件格式化为 HTML,但不会删除 Blade 片段。
使用 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]
它在屏幕上看起来很棒。
我在 PHP 中使用格式 HTML,它在包含 HTML 和 PHP 的文件中运行良好。但是它似乎没有格式化 'pure' php 文件,例如 Class。所以我还安装了 Phpfmt,它在处理纯 php 文件时表现出色,但会破坏包含混合内容的文件中的缩进。这是我得到的示例:
<?php
if (!$logged_in) {
$login_form = 'data-toggle="modal" data-target="#Modal1"';
$href = '#';
} else {
$login_form = '';
$href = 'members';
}
?>
开头的 php 标签与 html 正确对齐。 '我在 'Supported Transformations' 下看到它说:
AlignPHPCode: Align PHP code within HTML block.
但是正如您从上面看到的,它对我不起作用。有什么建议吗??