typescript - TSLint - 删除装饰器上的空格
问题描述
我在 VSCode 中遇到 TSLint 错误,抱怨装饰器中的“at”符号后没有空格。
我有:
@Input()
但 TSLint 要我写:
@ Input()
我需要在 TS lint 中调整什么规则来删除这个空白(理想情况下不影响其他元素周围的空白)
使用 tslint 5.11.0 和 Typescript 2.3.3。
这是我的 tslint.json:
{
"rulesDirectory": [
"node_modules/codelyzer"
],
"extends": [
"rxjs-tslint-rules"
],
"rules": {
"callable-types": true,
"class-name": true,
"comment-format": [
true,
"check-space"
],
"curly": true,
"eofline": true,
"forin": true,
"import-blacklist": [
true,
"rxjs"
],
"import-spacing": true,
"indent": [
true,
"spaces"
],
"interface-over-type-literal": true,
"label-position": true,
"max-line-length": [
true,
140
],
"member-access": false,
"member-ordering": [
true,
{
"order": ["static-field", "instance-field", "constructor", "static-method", "instance-method"]
}
],
"no-arg": true,
"no-bitwise": true,
"no-console": [
true,
"debug",
"info",
"time",
"timeEnd",
"trace"
],
"no-construct": true,
"no-debugger": true,
"no-duplicate-variable": true,
"no-empty": false,
"no-empty-interface": true,
"no-eval": true,
"no-inferrable-types": [
true,
"ignore-params"
],
"no-shadowed-variable": true,
"no-string-literal": false,
"no-string-throw": true,
"no-switch-case-fall-through": true,
"no-trailing-whitespace": true,
"no-unused-expression": true,
"no-use-before-declare": true,
"no-var-keyword": true,
"object-literal-sort-keys": false,
"one-line": [
true,
"check-open-brace",
"check-catch",
"check-else",
"check-whitespace"
],
"prefer-const": true,
"quotemark": [
true,
"single"
],
"radix": true,
"semicolon": [
true,
"always"
],
"triple-equals": [
true,
"allow-null-check"
],
"typedef-whitespace": [
true,
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
}
],
"unified-signatures": true,
"variable-name": false,
"whitespace": [
true,
"check-branch",
"check-decl",
"check-module",
"check-separator",
"check-type",
"check-typecast",
"check-type-operator",
"check-preblock"
],
"directive-selector": [
true,
"attribute",
"cc",
"camelCase"
],
"component-selector": [
true,
"element",
"cc",
"kebab-case"
],
"use-input-property-decorator": true,
"use-output-property-decorator": true,
"use-host-property-decorator": true,
"use-life-cycle-interface": true,
"use-pipe-transform-interface": true,
"rxjs-add": {
"options": [{
"allowElsewhere": false,
"allowUnused": false,
"file": "./src/rxjs-imports.ts"
}],
"severity": "error"
},
"rxjs-no-unused-add": {
"severity": "error"
}
}
}
解决方案
当 VSCode 突出显示错误时,它还会告诉您导致该错误的规则名称。
在脚本下将以下内容添加到您的 package.json 中。
"lint": "tslint \"app/**/*.ts\"",
"lintfix": "tslint --fix app/**/*.ts{,x}"
您可以运行以下命令来查找代码中的问题:
npm run lint
您可以使用以下命令自动修复问题:
npm run lintfix
知道规则名称后,您可以在 tslint.json 文件中禁用它。
推荐阅读
- javascript - Google表格数据移动器脚本不一致的问题
- c++ - 如何使 std::regex 匹配 Utf8
- sql-server - 在 SQL Server 上列出等待及其类别
- reactjs - 无法使用 ReactJS 在 OpenLayers 中的两个位置之间绘制默认线
- javascript - 更新:根据 x 轴上的滑块日期更改图表
- java - 启动 Activity 时出现 Google Maps API 密钥错误
- javascript - 使用 javascript 和 vue 映射不同类型的数据
- python - 动态公开对象属性
- r - R中样本大小的多重比较调整
- django - 用户注销时如何触发django函数