Как настроить порядок импорта в VSCode?

Я хочу настроить порядок Organize Imports.

Прямо сейчас он перемещает оператор импорта, связанный с node_modules, в самый верх, а локальный файл ts — в самый низ:

Обычный:

import myFunction from './myFunction';
import fs from 'fs';

console.log(fs)
console.log(myFunction)

После запуска команды «Организовать импорт»:

import fs from 'fs';
import myFunction from './myFunction';

console.log(fs)
console.log(myFunction)

Что я хочу сделать, так это изменить порядок, я хочу, чтобы node_modules был самым нижним, а локальный импорт был самым верхним.

Как я могу добиться такого поведения?


person Joseph Wang    schedule 05.06.2019    source источник
comment
Я совсем не знаком с организацией импорта, но быстро прочел marketplace.visualstudio.com/ указывает, что вам нужно будет определить groups так, чтобы relative и relativeDirect были выше в массиве.   -  person abondoa    schedule 26.03.2020


Ответы (1)


Встроенная функция «Организация импорта» не требует настройки, согласно документации.

Вы можете настроить порядок импорта с помощью стороннего расширения, например alfnielsen.vsc-organize-imports или с помощью отдельного инструмента для анализа, такого как eslint или tslint.

В eslint (моя рекомендация, поскольку tslint устарел) вам также необходимо использовать плагин, например eslint-plugin-import, чтобы получить более конкретную конфигурацию, которую вы хотите. Затем вместо действия VSCode «Организовать импорт» вы будете использовать действие «Исправить все» или вызвать быстрое исправление.

Вот частичный пример .eslint.js файла конфигурации.

module.exports = {
  plugins: [
    "import",
  ],
  rules: {
    "import/order": [
      "error",
      {
        groups: [
          "index",
          "sibling",
          "parent",
          "internal",
          "external",
          "builtin"
        ]
      }
    ]
  }
}
person Cameron Little    schedule 31.03.2020
comment
порядок обратный, это должны быть группы: [встроенный, внешний, внутренний, родительский, одноуровневый, индексный, объектный] - person Vugar Abdullayev; 06.07.2021