Как остановить красивую от переключения VUE-интерполяции в VS Code - PullRequest
0 голосов
/ 04 марта 2019

Я использую код Visual Studio с более привлекательным для vue, и это портит мои интерполяции.Каждый раз, когда я сохраняю, он переключается между наличием фигурных скобок на новой строке с содержимым или оставлением их на строке с тегами и размещением содержимого только на новой строке.

Некоторое время они менялись в унисон, поэтому мне нужно было просто убедиться, что он был в правильном состоянии, прежде чем перейти к управлению версиями.Теперь эти два находятся в противоположных циклах, и поэтому один из них всегда неверен.

(я использую Bootstrap-Vue и i18n localization)

Сохранить 1

<b-col>
  <b-button type="button" v-on:click="done()">
    {{ $t('Done') }}
  </b-button>
</b-col>
<b-col>
  <b-button type="button" v-on:click="cannotComplete()">{{
    $t('CannotComplete')
  }}</b-button>
</b-col>

Сохранить 2

<b-row>
  <b-col>
    <b-button type="button" v-on:click="done()">{{
      $t('Done')
    }}</b-button>
  </b-col>
  <b-col>
    <b-button type="button" v-on:click="cannotComplete()">
      {{ $t('CannotComplete') }}
    </b-button>
  </b-col>
</b-row>

Prettier Config

module.exports = {
  singleQuote: true,
  semi: false
}

eslintConfig

module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: [
    'plugin:vue/essential',
    'plugin:prettier/recommended',
    '@vue/prettier',
    'prettier'
  ],
  plugins: ['prettier'],
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'off' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'prettier/prettier': ['error']
  },
  parserOptions: {
    parser: 'babel-eslint'
  }
}

1 Ответ

0 голосов
/ 04 марта 2019

Проблема должна была быть связана с конфликтующими форматерами.Я удалил подключаемый модуль Prettier и изменил некоторые настройки кода Visual Studio.

VS Настройки кода:

{
  ...
  "editor.formatOnSave": false,
  "javascript.format.enable": false,
  "eslint.autoFixOnSave": true
  ...
}

eslintrc.js

module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: ['plugin:vue/essential', '@vue/prettier'],
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'off' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
  },
  parserOptions: {
    parser: 'babel-eslint'
  }
}

Соответствующее сообщение SO

...