如何使用更漂亮的类在方法声明之后添加新行?

时间:2018-10-12 04:03:57

标签: tslint prettier eslintrc

在vs代码编辑器中使用prettier plugin在打字稿文件中的类中的方法声明之前和之后,需要配置哪些设置来添加新行?

如何通过在.prettierrctslint.json文件中写入任何规则来实现?

当前行为是

function one(){
// some code
}
function two(){
// some code
}

预期结果

function one(){
// some code
}

function two(){
// some code
}

我尝试过 tslint.json

中的下面一行
"lines-between-class-methods": "true"

但不起作用

3 个答案:

答案 0 :(得分:1)

@lakshan提及的是ESLint rule。有一条TSLint规则可以完成您要寻找的内容,但要取决于类方法。

https://github.com/chinchiheather/tslint-lines-between-class-members

运行

npm install --save-dev tslint-lines-between-class-members

添加

tslint.json

{
  "rulesDirectory": [
    "node_modules/tslint-lines-between-class-members"
  ],
  "rules": {
    "lines-between-class-members": true,
  }
}

答案 1 :(得分:0)

在es-lint规则内尝试此操作

"lines-between-class-members" : ["error", "always"]

如果您违反条件,它将引发错误。 &我认为您必须在类中声明函数才能正常工作。

此外,您可能无法获得更漂亮的自动修复,因为事实证明很难自动生成空行。 Prettier采取的方法是保留空行,使其与原始源代码相同。

答案 2 :(得分:0)

lines-between-class-members 是 ESLint 的内置函数,取代了现已弃用的 TSLint。此规则适用于 TypeScript 和 JavaScript,并且支持 --fix。有关完整详细信息,请参阅 https://eslint.org/docs/rules/lines-between-class-members。您可能希望为 TypeScript 将 exceptAfterSingleLine 设置为 true。

要使 ESLint 为 TypeScript 工作,您必须安装 npm 包 @typescript-eslint/parser@typescript-eslint/eslint-plugin,并在 ESLint 配置中包含解析器和插件。见typescript-eslint docs

{
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"],
  "rules": {
    "lines-between-class-members": ["error", "always", { "exceptAfterSingleLine": true }]
  }
}