web-dev-qa-db-fra.com

Code VS - espace avant parenthèses de fonction

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?

18
Yan Takushevich

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.

2
Yan Takushevich
  1. Dans VS Code, ouvrez Fichier -> Préférences -> Paramètres
  2. Ajoutez à votre configuration JSON:

"javascript.format.insertSpaceBeforeFunctionParenthesis": true

function render () {
    // some code here
}

"javascript.format.insertSpaceBeforeFunctionParenthesis": false

function render() {
    // some code here
}

  1. Maintenant, vous pouvez continuer à utiliser votre option de formatage automatique "editor.formatOnType": true
24
Alex Eagle

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.

17
Zmogas

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:

  • Installer l'extension eslint : ext install eslint
  • Ajoutez "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.

4
Matt Bierner

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
  }
0
mejiamanuel57

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"

0
John Edmonds