amatiasq / vsc-sort-imports

Sort ES6 imports automatically.
ISC License
57 stars 24 forks source link

Vue SFC only work with TypeScript parser (and babel-vue), and also abnormally #73

Open patarapolw opened 3 years ago

patarapolw commented 3 years ago

Versions

macOS Catalina 10.15.6

VSCode version

amatiasq.sort-imports version v6.2.2

Current results

The sorting result looks like this.

<script lang="ts">

import Vue from 'vue'

import HelloWorld from './components/HelloWorld.vue'

export default Vue.extend({

Why the space below <script> tag?

Other attempts

Currently package.json needs this.

{
  "devDependencies": {
    "import-sort-parser-typescript": "^6.0.0"
  },
  "importSort": {
    ".js, .jsx, .ts, .tsx, .vue": {
      "parser": "typescript",
      "style": "module"
    }
  }
}

import-sort-parser-babel-vue and parser: "babel-vue" also works.

No parser

{
  "importSort": {
    ".js, .jsx, .ts, .tsx, .vue": {
      "style": "module"
    }
  }
}

"parser": "babylon"

Suggestions, if possible

Perhaps it should be something like this (in settings.json).

{
    "sort-imports.languages": [
        "javascriptreact",
        "typescriptreact",
        "vue",
        "javascript",
        "typescript"
    ],
    "sort-imports.default-sort-style": "module",
    "sort-imports.default-parser": "babel-vue",
}