typescript - 无法使 tslint 与 Sublime Text 3 一起工作

标签 typescript sublimetext3 lint tslint

问题是我无法让 tslint 在我的 Sublime Text 3 中工作。每当我打开任何 tsx 文件时,它都会在托盘中显示“Linting...”一段时间,但随后总是显示“tslint(ok)” .即使我知道我的代码中有很多错误。我通过在终端中运行 tslint 命令来检查它,在那里我得到了一大堆错误。

这是我的环境:
Linux Ubuntu 16.04 LTS
Sublime Text v3.1.1 Build 3176
Typescript v2.9.1(全局安装)
TSLint v5.10.0(全局安装)
NVM v0.33.8
Node.js v6.11.4(通过 NVM 运行)

我已经在我的 Sublime Text 中安装了所有必要的包,如 SublimeLinter 和 SublimeLinter-tslint。

SublimeLinter 的设置内容如下:

{
"debug": true,
"linters": {
    "tslint": {
        "disable": false,
        "args": ["--project=${folder}/"]
    }
},
"paths": {
    "linux": [
        "/home/akbar/.nvm/versions/node/v6.11.4/bin"
    ]
}
}

如您所见,调试设置设置为 true,但控制台中没有错误。我还阅读了有关 tslint 不与 NVM 一起工作的信息。但是我通过在 SublimeLinter 的路径设置中添加节点可执行文件的路径来解决这个问题。
但我相信这里的问题有所不同。 TSLint 似乎可以正常工作,但它只是没有捕获 Sublime Text 中的任何错误。

最佳答案

尝试在特定的 linter 配置中添加 env 选项,它应该如下所示:

{
  "linters": {
      "tslint": {
          "disable": false,
          "env": "~/.nvm/versions/node/v12.6.0/bin",
          "args": ["--project=${folder}/"]
      }
  },
  "paths": {
      "linux": [
          "~/.nvm/versions/node/v12.6.0/bin"
      ]
  }
}

这应该适用于这种环境:

  • Sublime Text v3.2.1 Build 3207
  • Typescript v3.5.3(全局安装)
  • TSLint v5.18.0(已安装 全局)
  • NVM v0.33.11
  • Node.js v12.6.0(通过 NVM 运行)

参见相关问题 here

关于typescript - 无法使 tslint 与 Sublime Text 3 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50829067/

相关文章:

javascript - 如何在 Sublime 中对 JavaScript 字符串中的 HTML 进行语法高亮显示

javascript - JSHint 和 jQuery : '$' is not defined

c++ - Visual Lint 中的每个项目选项?

linux - 创建 aspell 样式文件编辑 bash 脚本

reactjs - react 功能组件静态属性

c - 在 Sublime Text 3 中构建 C 文件并使用 fork();

regex - 在Sublime Text 3中搜索不包含特定字符串的文件

javascript - TypeScript 编译器选项可以生成更高质量的 JavaScript?

javascript - 面临错误 core.js :15723 ERROR TypeError: Cannot read property 'toLowerCase' of undefined In Angular 7

javascript - 在 Angular 2 中实现 Wikitude