簡體   English   中英

Visual Studio Code 中 PHP/HTML 的格式代碼命令

[英]Format code command for PHP/HTML in Visual Studio Code

是否可以讓 Visual Studio 代碼在 Windows Visual Studio Code 版本 0.7.1 上格式化混合 HTML 和 PHP 代碼?

更新 2021-07-21

我第一次寫這個答案已經有五年多了。 我最初鏈接的擴展被放棄了,Visual Studio Code 的內在 PHP 支持沒有得到改善,這令人失望。 我所知道的唯一像樣的擴展是PHP Intelephense ,它使用免費增值模式:基本功能是免費的,並且在撰寫本文時終身許可證為 12 美元。

Intelephense 的免費版本支持使用常用快捷鍵進行代碼格式化(在 Windows 和 Linux 上為Alt + Shift + F ,在 macOS 上為⌥⇧F )。 Visual Studio Code 仍然缺乏對 PHP 代碼格式的內置支持,如果您嘗試在未安裝適當擴展的情況下格式化 PHP,它將引導您進入擴展市場。

原答案

Visual Studio Code 有非常棒的 PHP 支持 它缺少的東西被擴展覆蓋了。 快速搜索會發現至少三個( 123 )聲稱支持 PHP 格式。

他們似乎大多在 Windows/Linux 上使用Alt + Shift + F的標准快捷方式,在 Mac 上使用不同的快捷方式。 如果您使用的是 Mac,嘗試使用⌥⇧F

大多數解決方案的問題在於它們都注冊為格式化提供程序,並且在 Visual Studio Code 中,您只能在保存特定文件類型時運行一個格式化程序。

因此,您可能會獲得所有 HTML、CSS、JavaScript 代碼,但忽略 PHP 代碼。 或者,如果您使用常規 PHP 格式化程序,則不存在可以正確處理 HTML 的格式化程序。

我繼續制作了一個在保存鈎子之前運行的擴展,並且沒有注冊為 PHP 格式化程序,因此它將使用js-beautify 處理所有 HTML,然后您可以使用 PHPCS + PHPCBF 之類的東西來格式化 HTML。 因此,就我而言,它基本上是目前可用的最佳解決方案。

在 Visual Studio Code 市場上用 PHP 格式化 HTML

對於混合 PHP、HTML 和 JavaScript 代碼的最佳格式設置,只需使用“PHP CS FIXER”。

然后在你的setting.json文件上使用這個簡單的配置:

"php-cs-fixer.executablePath": "${extensionPath}\\php-cs-fixer.phar",
"[php]": {
    "editor.defaultFormatter": "junstyle.php-cs-fixer",
    "editor.formatOnSave": true
},
"php-cs-fixer.rules": "@PSR2",
"php-cs-fixer.formatHtml": true,

我使用bmewburn.vscode-intelephense-client並且它完美運行(除非存在語法錯誤)。

有一個高級版本; 我不知道那效果如何。

在 GitHub 上

在 VSCode 市場上

官方網站


許多其他人提到的PHP擴展中的Format HTML確實有效,只是存在一些對齊問題,並且您必須分別格式化 HTML 和 PHP。


phpcbf也是一個不錯的選擇,只不過它需要更多的定制,而且計算起來有點復雜。 這可能是好事也可能是壞事,這取決於你想要什么。

我已經嘗試了幾乎所有 Visual Studio Code 的格式擴展,我認為沒有一個可以正確/一致地處理混合 PHP/HTML 頁面的格式。

我在 Laravel 中編碼,我使用Format HTML In PHP來格式化 PHP 代碼中的 HTML 代碼。 它工作得很好。

我安裝了

我按照每個插件的說明進行操作,但發現我必須另外手動編輯 settings.json 才能讓它們協同工作。

      "editor.defaultFormatter": "esbenp.prettier-vscode",
      "[php]": {
          "editor.defaultFormatter": "bmewburn.vscode-intelephense-client"

這些設置使用 Intelephense 作為 PHP 文件的格式化程序,並使用 Prettier 作為所有其他文件的格式化程序。

現在我像其他人一樣使用Shift + Alt + F來格式化文件。

PHP 中的 Format HTML擴展添加到 Visual Studio Code。

或者在擴展中搜索“在 PHP 中格式化 HTML”。

重新加載后,使用Shift + Alt + F

轉到 vs 代碼中的擴展:

在此處輸入圖片說明

然后寫: category:formatters php

按回車鍵。 您將看到所有可用的格式化程序。 現在安裝你喜歡的那個。

在此處輸入圖片說明

然后在任何打開的 php 文件中右鍵單擊,從彈出菜單中選擇格式文檔。

安裝擴展程序后。 設置>搜索>格式化並啟用“保存時格式化”然后編輯setting.json文件如下


    "editor.defaultFormatter": "esbenp.prettier-vscode",
      "[php]": {
        "editor.defaultFormatter": "bmewburn.vscode-intelephense-client",
        "editor.formatOnSave": true
      },
      "editor.formatOnSave": true

保存>重新啟動 IDE 這對我有用.. :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM