如何在 Sublime Text 2 中解析来自 TypeScript 的错误消息?

2024-03-08

我正在尝试为 TypeScript 设置 Sublime Text 2 构建系统。我已按照我找到的指示进行操作here https://stackoverflow.com/questions/12779631/how-to-configure-a-sublime-build-system-for-typescript。实际上调用编译器是有效的,但是它没有正确地获取错误消息。

这是我的示例 TypeScript 程序:

function greeter(person: string) {
     return "Hello, " + person;
}
var user = "Jane User";
document.body.innerHTML = greeter(us-er);

当我从命令行编译时,我看到以下输出:

C:/data/helloworld.ts(5,34): 名称“us”不存在于 当前范围 C:/data/helloworld.ts(5,37):名称 'er' 不 存在于当前范围内 C:/data/helloworld.ts(5,26): 已提供 参数与调用目标的任何签名不匹配

当我从 Sublime Text 2 中构建时,我看到以下输出:

C:/Data/helloworld.ts(5,34): [0.6秒完成]

正如原始问题中提到的,我尝试了 file_regex 的不同变体,但结果均相同。我当前版本的文件如下所示:

{
    "selector": "source.ts",
    "cmd": ["tsc.cmd", "--target","ES5", "$file"],
    "file_regex": "^(.+?)\\(([0-9]+,[0-9]+)\\)\\: (.+)$"
}

当我使用以下命令测试正则表达式时Python 正则表达式工具 http://www.pythonregex.com/这个版本正确匹配了 3 个部分。然而,Sublime Text 拒绝向我显示实际的错误消息。

有人能指出我做错了什么吗?

这是非常令人沮丧的,特别是当一个站点甚至显示了 Sublime Text 正确显示错误消息的示例时。

这是 Windows 7 64 位上的 Sublime Text 2.01 64 位。


看起来该进程在刷新输出缓冲区之前就终止了。您可以通过以下方式验证这一点:

{
    "selector": "source.ts",
    "cmd": ["tsc.cmd", "--target","ES5", "$file"],
    "file_regex": "(.*)"
}

你应该仍然只得到类似的东西

C:/Data/helloworld.ts(5,34): [Finished in 0.6s]

要解决这个问题,您可以尝试在批处理文件中添加一些延迟tsc.cmd:

@echo off
:: Run the compiler
node "C:\typescript\tsc.js" %*

:: Waits for 500ms
ping 1.1.1.1 -n 1 -w 500

EDIT:请参阅 Markus 关于使用 Windows Script Host 而不是 Node 的评论。这解决了问题。进一步的研究表明这实际上是 Windows 上节点的一个已知问题:请参阅here https://github.com/joyent/node/issues/3479 and here https://github.com/joyent/node/issues/3584.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Sublime Text 2 中解析来自 TypeScript 的错误消息? 的相关文章

随机推荐

  • 将 FutureBuilder 与 setState 一起使用

    如何使用FutureBuilder with setState适当地 例如 当我创建一个有状态小部件时 它开始加载数据 FutureBuilder 然后我应该用新数据更新列表 所以我使用 setState 但它开始无限循环 因为我再次重建小
  • 如何使用 bnd/maven-bundle-plugin 将资源文件从 jar 依赖项包含到 osgi 包中?

    我在用着maven bundle plugin bnd有效地 从源中包含资源文件很简单 例如 资源文件 src main resources some xml 移至下面target目录 target classes some xml 在构建
  • 在 Backbone.js 中实现 Backbone.Subset.js 以从父集合中过滤模型

    In 这个 stackoverflow 帖子 https stackoverflow com questions 6865174 backbone js correct way of filter collection data and d
  • 如何获取 ntile() 的间隔

    我试图弄清楚是否有一种方法可以获取用于何时的间隔ntile 用来 我有一个样本 我想将其用作获取较大样本的百分位值的基础 并且我希望找到一种方法来获取使用时的间隔值ntile 对此的任何启发将不胜感激 我真的很想把这个作为评论 但我仍然无法
  • 手动删除 anaconda python 中 pkgs 文件夹中的所有文件是否安全?

    我运行这个命令来释放 anaconda 上的磁盘空间 conda clean all 但是 仍然有一些大文件残留在pkgsanaconda python 中的文件夹 手动删除其中的所有文件是否安全pkgs文件夹 有破坏我的 anaconda
  • Invoke-Restmethod:如何获取返回码?

    有没有办法在调用时将返回码存储在某处Invoke RestMethod在 PowerShell 中 我的代码如下所示 url http www dictionaryapi com api v1 references collegiate x
  • 如何从字符串中获取size_t?

    我需要从用户输入中获取数组大小 对我来说 将输入存储为很自然size t 但是正在寻找合适的strto 功能我找不到 我刚用过strtoull since unsigned long long保证至少是 64 位 而且我无论如何都使用 C9
  • 可变值和不可变值重定义有什么区别?

    我读到 F 中的值是不可变的 然而 我也遇到了重新定义价值定义的概念 它掩盖了以前的定义 这与可变值有何不同 我问这不仅是一个理论构造 而且还询问是否有关于何时使用可变值以及何时重新定义表达式的建议 或者如果有人可以指出后者不是惯用的 f
  • 如何让 GNU Unifont 或 Free Mono 在 gvim windows 上运行?

    我正在尝试在 Windows 7 上的 gvim 中获得对符文字符的支持 我的 Fonts 目录中安装了 Free Mono 和 GNU Unifont 字体 都支持此范围 但它们没有出现在字体菜单中 gvim 给出了我收到以下行的无效字体
  • ASP.NET MVC 4 引用单父实体的多个外键

    我正在尝试开发一个 ASP NET MVC 4 应用程序 可以根据玩家的进攻 防守和助攻技能对他们进行评级 进攻 防守和助攻是球员表上的外键 引用相同的查找表 评分 我有以下父实体 public class Rating public in
  • 为什么 tzset() 在 Mac OS X 上 fork 后速度变慢了?

    Calling tzset fork之后显得很慢 如果我第一次打电话 我只会看到缓慢的情况tzset 在 fork 之前在父进程中 我的TZ环境变量未设置 我dtruss我的测试程序显示子进程读取 etc localtime对于每一个tzs
  • 如何将按钮对齐到屏幕中间?

    我正在尝试在屏幕中间放置 2 个按钮 然而 这些按钮与我现在拥有的代码重叠 实际上我并没有使用那么多 CSS 所以这可能是一个新手问题 这是我的html wrapper text align center button position a
  • 使用 AVMutableComposition 缝合(合并)视频时修复方向

    TLDR 查看编辑 我正在 Swift 中创建一个测试应用程序 我想使用以下命令将应用程序文档目录中的多个视频拼接在一起AVMutableComposition 我在某种程度上成功地做到了这一点 我的所有视频都拼 接在一起 并且所有内容都显
  • HTTP 请求损坏

    在接收大量流量的网站上 一小部分请求是这样的 http cheezburger com ScriptResource axd d zaVpgH63ePt90pn br br p a src ScriptResource axd d zaVp
  • TFS 与 JIRA/Bamboo/SVN [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 us-central1 以外的网络区域使用 httpsCallable

    我部署了一个云函数 如下所示 export const publishVersion functions region europe west2 https onCall async data context gt 然后在我的网络客户端中
  • Golang - ToUpper() 在单个字节上?

    我有一个 byte b 我想选择一个字节 b pos 并将其更改为大写 然后小写 bytestype 有一个方法叫做ToUpper 我如何将其用于单个字节 Calling ToUpper在单字节上 OneOfOne 给出了最有效的 调用数千
  • 柯里化有什么好处?

    我认为我不太理解柯里化 因为我看不到它可以提供任何巨大的好处 也许有人可以用一个例子来启发我 证明它为什么如此有用 它真的有好处和应用吗 还是只是一个被过度重视的概念 两者之间有细微差别currying and 部分应用 尽管它们密切相关
  • BigQuery 分区表在 _PARTITIONTIME 上联接

    有两个分区表 都带有伪列 PARTITIONTIME 我想在 PARTITIONTIME 上加入它们 然后我想使用 PARTITIONTIME 过滤器查询结果表 但我注意到该过滤器仅传播到 JOIN 语句的第一个表 下面是一个例子 WITH
  • 如何在 Sublime Text 2 中解析来自 TypeScript 的错误消息?

    我正在尝试为 TypeScript 设置 Sublime Text 2 构建系统 我已按照我找到的指示进行操作here https stackoverflow com questions 12779631 how to configure