Existe-t-il un moyen de désactiver la suppression d'espace avant les parenthèses lors de l'édition d'une fonction dans VS Code?
Disons que j'ai une fonction
function render () {
// some code here
}
Lorsque je commence à l’éditer, VS Code supprime l’espace avant les parenthèses et transforme ce code en:
function render() {
// some code here
}
Existe-t-il un moyen de désactiver ce comportement?
J'ai découvert que le paramètre "editor.formatOnType": true
était activé. C'est ce qui permet à l'éditeur de formater automatiquement le code lorsque vous tapez. La désactivation a aidé à résoudre le problème.
"javascript.format.insertSpaceBeforeFunctionParenthesis": true
function render () {
// some code here
}
"javascript.format.insertSpaceBeforeFunctionParenthesis": false
function render() {
// some code here
}
"editor.formatOnType": true
J'ai eu le problème opposé avec les fonctions anonymes. Nous utilisons une extension plus jolie. La correction automatique insère un espace avant la parenthèse. Et puis plus jolie se plaint à ce sujet.
var anonfunc = function() {
// Expected syntax.
}
var autocorrected = function () {
// Auto-correct inserts a space
}
Il existe une option de code similaire, qui résout mon problème:
"javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": false
Par défaut, il s'agit de true
. Cela m'a pris du temps, jusqu'à ce que je sois fatigué de corriger la correction automatique.
Je suis dans l'équipe VSCode. A partir de VSCode 1.8, cette option de formatage n'est pas prise en charge immédiate, mais nous suivons la fonctionnalité: https://github.com/Microsoft/vscode/issues/15386 , https: // github .com/Microsoft/TypeScript/issues/12234
Pour résoudre ce problème, essayez ce qui suit:
ext install eslint
"eslint.autoFixOnSave": true
à votre espace de travail ou à vos paramètres utilisateurÀ la racine de votre projet, créez un .eslintrc.json
avec:
{
...
"rules": {
...
"space-before-function-paren": "error"
}
}
L'extension eslint peut créer un démarreur .eslintrc.json
avec la commande create .eslintrc.json
.
Cela formatera automatiquement les fonctions de manière à laisser un espace après celles-ci lorsque vous enregistrez le fichier.
Dans mon cas, je voulais le comportement d'indentation/formatage normal de VS Code, alors j'ai désactivé l'avertissement eslint:
Dans le fichier .eslintrc.js, j'ai tapé dans les règles:
'rules': {
....
//disable rule of space before function parentheses
"space-before-function-paren": 0
}
Dans mon cas, je devais activer explicitement ESLint sur mon projet Vue.js même si le fichier .eslintrc.js devait être implémenté:
extends: ['plugin:vue/exxential', '@vue/standard']
Pour ce faire, j'ai appuyé sur CTRL + Maj + P et recherché "ESLint: Enable ESLint"