[英]How can I format PHP files with HTML markup in Visual Studio Code?
我正在使用 Laravel,因此所有視圖都是.blade.php
文件。 由於 PHP 擴展,Visual Studio Code 不會格式化 HTML。 我刪除了文件名的“刀片”部分,但它仍然沒有正確格式化文件(通過Alt + Shift + F )。
我還嘗試了大約五個擴展,但沒有一個進行重新格式化。
如何在 Visual Studio Code 中格式化.blade.php
文件?
擴展Beautify (來自 HookyQR)做得很好。 將 PHP 和任何其他文件擴展名類型添加到配置中。 正如Nico 所說,這是一個例子:
轉到用戶設置( Ctrl + Shift + P →用戶設置(UI) 或Ctrl + , (逗號)
在上面的字段中搜索 Beautify。 然后單擊“在 settings.json 中編輯”以獲取“美化:配置” 。
對於“html”部分,添加“php”和“blade” 。
###用法
您可以直接調用它。 按F1 ,然后寫Beautify 。 自動完成為您提供了兩個選擇, “美化文件”和“美化選擇” 。 選擇您需要的那一款,它就能完成這項工作。 這是一種直截了當的直接方式。
您還可以添加鍵綁定以獲得鍵盤快捷鍵。 這是如何做到的:
打開 keybindings.json(轉到菜單File → Preferences → Keyboard Shortcuts )
點擊上方。 打開並編輯文件keybindings.json
將以下內容添加到括號中,[]
{ "key": "alt+b", "command": "HookyQR.beautify", "when": "editorFocus" }
選擇您想要的任何鍵,並確保不要覆蓋現有的鍵。 如果存在與否,首先在左側搜索。
請注意,所有這些內容都在擴展的描述中得到了很好的記錄。
(適用於@Peter Mortensen 澄清說明)
如果您對設置是blade
還是blade.php
感到困惑! 我來給你解決! 是blade
! 那是該語言的 vscode 關鍵字!
你怎么知道的 ?
首先,如果您打開語言列表,如下圖所示:
寫刀片
你可以看到Laravel Blade (blade)
! 語言關鍵字在括號中! 刀片!
好吧,但如何檢查!
嘗試在設置中使用blade.php
!
嘗試美化
你會得到一個詢問什么語言(html、css、js)的上下文菜單!
所以它不起作用!
要真正知道! 放回blade
! 它會直接工作和美化!
真棒答案! 是試一試,自己看看!
但是如果你問我! 我會說它和 html 一樣有效! 它可能太方便了! 您可能需要修復一些線路! 取決於您的期望和您的風格!
這里有一個插圖! 我故意弄壞了縮進
這里的美化結果:
Beautify (來自 HookyQR)確實解決了這個問題!
許多人在 HTML 配置中添加了“blade.php”和“php”。 Beautify 無法識別並手動選擇 HTML 模板。 相反,只需在 HTML 配置中添加“blade”即可解決所有問題。
我認為Beautify (by HookyQR) 可能會成功。 只需在其配置的 HTML 部分添加 'php' 和/或 'blade.php' 即可美化 PHP / Blade 視圖文件。
這個對我有用!
如果您想要一些開箱即用的功能,請在支持 Visual Studio Code 的 PHP 文件中添加嵌套 HTML 格式。
它使用html.format 的所有本機設置、保存時的格式等。試試PHP 中的擴展Format HTML 。 我做到了,因為其他所有解決方案都讓我很惱火,因為它沒有 100% 奏效。
Andrew Schultz 提到了擴展名:“ 在 PHP 中格式化 HTML ”。
這確實是使用 HTML 標記格式化 PHP 文件的一個很好的擴展。 它還格式化包含在 PHP 文件中的 JavaScript 代碼。
而且。 好消息! 開發人員已經成功地包含 Laravel Blade.php 文件。 與此同時,我通過手動將語言從Blade切換到 PHP 來格式化 Visual Studio Code 中的 Laravel 刀片文件,然后我使用擴展名“ 在 PHP 中格式化 HTML ”,並使用Ctrl + Alt + F或右鍵單擊。 這對我很有效。
使用 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 中使用 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.
但正如你從上面看到的,它對我不起作用。 有什么建議??
這可以通過對".blade.php"使用 HTML 格式來完成:
"files.associations": { "*.blade.php": "html", "*.tpl": "html" },
這會將.blade.php文件格式化為 HTML,但不會刪除 Blade 片段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.