VSCode - это автоматическое форматирование многострочного кода в одну строку. - PullRequest
0 голосов
/ 27 марта 2020

Мне очень нравится идея автоформатирования кода. Вы можете использовать правила eslint для настройки стиля кода, который вам нравится. Но какое-то скрытое правило делает то, что мне не нравится: встроенные реквизиты уничтожения документа или атрибуты элемента шаблона jsx.

Пример (так я хочу, чтобы это было).

const {
  foo: 1,
  bar: 2,
  baz: 3,
} = require('qux')

И вот как он переформатируется с помощью VSCode или некоторого его плагина (не уверен) 1010 * Примеры JSX (пробовал с новым проектом, созданным с использованием react-create-app).

  1. ОК, это будет слишком длинная строка, поэтому VSCode переформатирует его в многострочное

    <a
      className="App-link"
      href="https://reactjs.org"
      target="_blank"
      rel="noopener noreferrer"
    >
    
  2. Длина строки не будет длиннее, чем разрешено, но я все еще люблю этот стиль

    <a
      className="App-link"
      href="https://reactjs.org"
    >
    
  3. Но VSCode / плагин имеет другое предпочтение и переформатирует его в

    <a className="App-link" href="https://reactjs.org">
    

Я попытался найти конкретное правило c eslint, которое отвечало бы за это поведение, но безуспешно (не найдено). Я попытался изменить форматировщик vscode по умолчанию с prettier на null - не повезло.

Еще одна странная вещь для меня: VSCode не выделяет такие фрагменты кода, которые он собирается переформатировать.

Так как это можно исправить?

ОБНОВЛЕНИЕ

Единственное, что я хочу, чтобы VSCode делал в таких частях кода, это просто разрыв одной строки на многострочную в случае, если строка превышает eslint max-len значение.

...