J'ai donc mis en place vscode avec plus jolie, mais il ne formatera pas de fichiers .php. Les fichiers .html fonctionnent bien avec plus jolie. Ainsi, lorsque j'ai un .php avec du code HTML, il sera formaté différait différent, car j'utilise l'embellissement comme dernière option.
Comment puis-je rendre plus jolie format automatiquement .php fichiers et le code HTML dans .php les mêmes que les fichiers .html?
paramètres.json
{
"sync.autoDownload": true,
"sync.autoUpload": true,
"sync.forceDownload": true,
"sync.forceUpload": true,
"workbench.iconTheme": "vscode-icons",
"sync.Gist": "715bf022af486e449cae9313183b9a56",
"sync.quietSync": true,
"TypeScript.updateImportsOnFileMove.enabled": "always",
"window.zoomLevel": 0,
"vetur.format.defaultFormatter.js": "vscode-TypeScript",
"vetur.format.defaultFormatter.ts": "vscode-TypeScript",
"eslint.codeActionsOnSave.mode": "all",
"workbench.colorTheme": "Atom One Dark",
"beautify.language": {
"html": ["php", "blade"]
},
// These are all my auto-save configs
"editor.formatOnSave": true,
// turn it off for JS and JSX, we will do this via eslint
"[javascript]": {
"editor.formatOnSave": false
},
"[javascriptreact]": {
"editor.formatOnSave": false
},
// tell the ESLint plugin to run on save
"editor.codeActionsOnSave": {
"source.fixAll": true
},
// Optional BUT IMPORTANT: If you have the prettier extension enabled for other languages like CSS and HTML, turn it off for JS since we are doing it through Eslint already
"prettier.disableLanguages": ["javascript", "javascriptreact"],
"php.validate.executablePath": "C:\\xampp\\php\\php.exe"
}
.eslintrc.json
{
"extends": ["airbnb", "prettier", "prettier/react"],
"parser": "babel-eslint",
"parserOptions": {
"ecmaVersion": 2020,
// Can I remove these now?
"ecmaFeatures": {
"impliedStrict": true,
"classes": true
}
},
"env": {
"browser": true,
"node": true,
"jquery": true,
"jest": true
},
"rules": {
"no-debugger": 0,
"no-alert": 0,
"no-await-in-loop": 0,
"no-return-assign": ["error", "except-parens"],
"no-restricted-syntax": [
2,
"ForInStatement",
"LabeledStatement",
"WithStatement"
],
"no-unused-vars": [
1,
{
"ignoreSiblings": true,
"argsIgnorePattern": "res|next|^err"
}
],
"prefer-const": [
"error",
{
"destructuring": "all"
}
],
"arrow-body-style": [2, "as-needed"],
"no-unused-expressions": [
2,
{
"allowTaggedTemplates": true
}
],
"no-param-reassign": [
2,
{
"props": false
}
],
"no-console": 0,
"import/prefer-default-export": 0,
"import": 0,
"func-names": 0,
"space-before-function-paren": 0,
"comma-dangle": 0,
"max-len": 0,
"import/extensions": 0,
"no-underscore-dangle": 0,
"consistent-return": 0,
"react/display-name": 1,
"react/no-array-index-key": 0,
"react/react-in-jsx-scope": 0,
"react/prefer-stateless-function": 0,
"react/forbid-prop-types": 0,
"react/no-unescaped-entities": 0,
"jsx-a11y/accessible-emoji": 0,
"react/require-default-props": 0,
"react/jsx-filename-extension": [
1,
{
"extensions": [".js", ".jsx"]
}
],
"radix": 0,
"no-shadow": [
2,
{
"hoist": "all",
"allow": ["resolve", "reject", "done", "next", "err", "error"]
}
],
"quotes": [
2,
"single",
{
"avoidEscape": true,
"allowTemplateLiterals": true
}
],
"prettier/prettier": [
"error",
{
"trailingComma": "es5",
"singleQuote": true,
"printWidth": 80
}
],
"jsx-a11y/href-no-hash": "off",
"jsx-a11y/anchor-is-valid": [
"warn",
{
"aspects": ["invalidHref"]
}
],
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn"
},
"plugins": ["html", "prettier", "react-hooks"]
}
Avait des problèmes avec ce problème exact. Le coupable de mon cas était un paramètre mal configuré dans le fichier Paramètres.json (sur Mac, le fichier de configuration des paramètres est situé dans ~/Bibliothèque/Support/Code/Code/Utilisateur)
Le fichier de configuration Paramètres.json requis la propriété correcte "php.validate.executabiltailpath". La valeur à définir sur cette propriété peut varier en fonction de la version PHP que vous utilisez.
Pour obtenir le chemin correct de votre PHP exécutable sur un Mac, ouvrez une nouvelle fenêtre de terminal (CMD + Barre d'espace et terminal d'écriture) et tapez which php
. La valeur renvoyée doit correspondre à la valeur de la propriété Config.
paramètres.json Exemple:
{
// your other settings
"php.validate.executablePath": "/Applications/MAMP/bin/php/php7.3.8/bin/php"
}