2018年8月2日 星期四

[linux] vscode 的 php cs fixer formatOnSave 無法使用的解決方式 vscode php cs fixer formatOnSave not work

在查看 vscode php cs fixer 的 format on save 怎麼會出現 config error 的時候發現的問題,
本來想說為什麼 vscode 的 php cs fixer  怎麼不work呢 已經設定了,
   "php-cs-fixer.onsave": true,
   "php-cs-fixer.executablePath": "/usr/local/bin/php-cs-fixer",
   "php.validate.executablePath": "/usr/bin/php",
   "php.executablePath": "/usr/bin/php",
   "editor.formatOnSave": true,

儲存文件後沒有生效 format 格式化 ,可以按右鍵的功能 Format Document  是會生效的

打開 vscode 的 help / toggle develpoer tools 看一下console的log
把參數複製出來直接使用 php-cs-fixer fix 是會生效的
php-cs-fixer fix --using-cache=no /tmp/zzz.php --rules=@PSR2 --path-mode=override                                                                                           
Loaded config default.

Fixed all files in 1.727 seconds, 26.000 MB memory used

有發現原來時間超過了 vscode 設定的 formatOnSaveTimeout 750ms
在 console  也有發現 WARN Aborted format on save after 750ms 的 message
把 formatOnSaveTimeout 改長以後就正常了。

附上 user settings
{
    "go.formatTool": "gofmt",
    "go.autocompleteUnimportedPackages": false,
    "editor.fontSize": 14,
    "window.zoomLevel": 1,
    "php-cs-fixer.onsave": true,
    "php-cs-fixer.executablePath": "/usr/local/bin/php-cs-fixer",
    "php.validate.executablePath": "/usr/bin/php",
    "php.suggest.basic": false,
    "php.executablePath": "/usr/bin/php",
    "editor.formatOnSave": true,
    "editor.formatOnSaveTimeout": 3750
}

沒有留言:

張貼留言