打字稿的编辑器和调试器

Which editor and debugger for typescript

我正在开发一个 nodejs 项目,其中所有代码都是用打字稿编写的。它遵循微服务模式(每个微服务都是一个独立的项目)因此需要同时打开和调试很多项目。

我尝试了 webstorm 和 visual studio(使用 NTVS),但对它们都不满意。 Webstorm 忽略了许多构建错误(非常重要,因为它们会在 CI 期间失败)并且在智能感知和易用性方面不如 visual studio。另一方面,Visualstudio 没有我想要的那么快。此外,我与 windows 相关,node_modules 中的文件名长度问题非常频繁且令人讨厌。

其他(atom,VSCode)没有打字稿调试支持(或者我错过了什么?)。

能否分享一下您的经验?我还想知道 google 开发人员可能使用哪个编辑器来开发 angular 2 :)

我从事 TypeScript 项目已有 1.5 年了,我对使用 Visual Studio 感到非常满意,因为我们使用 .NET 来处理后端内容。对于我自己,我认为速度为 "Ok",它不是那么好 - 但其他东西,例如智能感知是我们真正喜欢的。我个人也认为,作为微软的"son",TypeScript将得到其"cousin"-Visual Studio.

最好的支持。

但是如果你是一个Eclipse的人,你可能会对这个TypEcs感兴趣(http://typecsdev.com/). There was also a post by Steve Fenton talking about TypeScript IDEs you may be interested (https://www.stevefenton.co.uk/Content/Blog/Date/201409/Blog/Which-TypeScript-IDE/),他列出了一些流行的并附上几句评论,包括Atom和atom-typescript扩展。

我也用Visual Studio。我对它的速度没有任何问题;我发现一切都像我期望的那样立竿见影。

但是,我还没有使用过 "TypeScript" 项目。我一直在使用带有 TypeScript 文件的通用 "Web" 项目。另外,我不使用 Visual Studio 自己的构建和编译工具;我为我的项目使用我自己的 Gulp 任务(包括重建、观察保存、缩小、测试等),并从 Visual Studio 内部 Task Runner Explorer 到 manage/run 它们。我认为这是两全其美:Visual Studio 的敏捷性和功能,以及 运行 我自己的独立于平台的自定义任务的灵活性。

我不得不承认我没有对 IDE 进行任何深度调试(例如断点、步进)。 VS 是否使用 TypeScript 做到这一点?如果我在执行过程中发现错误(在浏览器中),我的源映射总是指示错误所在,所以我返回代码,尝试修复它,保存并在浏览器中重新加载。

不是推荐,但我建议您不要购买 JetBrains 的产品 (IntelliJ/WebStorm/ReSharper) 进行 TypeScript 编辑,除非您已经正确评估了它们。

他们为其他语言重用了很多自己的逻辑,而不是充分利用 TypeScript 语言服务,这意味着他们的行为更像是一个奇特的 JavaScript 编辑器,可以做出一些聪明的猜测,而不是用于静态类型语言的强大 IDE。 (他们的类型推断与编译器不同,可能会让你相信一个无类型的表达式(隐式 any)是类型良好的。而且,所有的重构都和 JS 的一样,所以他们不使用或保留任何类型信息。也没有基于类型信息的重构(如安全重命名和移动)可用。)

至于调试,你调试生成的JS可能会有更多的经验。它不仅得到了很好的支持,而且还揭示了编译器插入的代码中出现的问题。如果您只查看 TypeScript 源代码,后者将难以理解。此外,在生成的代码中,您实际上可以在单行 lambda 函数体中设置断点。

VSCode 可以在 Node 中调试。还没有浏览器调试。

谈话有点晚了。

我最近尝试了 VisualStudio 2015、VisualStudio Code 0.9、Atom(带有 Atom-Typescript 包)。并且对 Atom 非常满意。

A​​tom-TypeScript 使用最新版本的 TypeScript,因此您可以使用所有新功能,如 async/await、字符串插值等。社区创建的包,因此我们无需等待主要 IDE 发布以使用新的 TypeScript 功能。

调试找不到。但是喜欢使用 node-inspector 因为它的重量轻。问题是你需要在 javascript 版本而不是打字稿版本中调试它。不太确定,但也许如果你能提供地图文件,你就可以调试打字稿版本?就像我们在 Google Chrome Inspector.

我正在使用 VSCode 主动调试 angular/node/typescript 应用程序。它确实有效,但您需要做一些 setup/configuration。您必须告诉 VSCode 如何调试您的应用程序。例如,我在我的 launch.json 配置中有多个选项来调试我的 gulp 脚本、我的节点 server.js 文件和通过 chrome 的 angular/typescript 应用程序使用 "Debugger for Chrome" 扩展安装在 VSCode 中。通过一些配置,这一切都是可能的。最后,根据您的具体情况,您可能需要为您的项目正确配置映射文件,从 javascript 到 typescript。

我在用npm打开项目时也遇到了visual studio中node_modules文件夹中文件路径太长的问题。这是由于 Visual Studio 试图下载你所有的包 - 不正确所以我可能会添加。为我的项目避免这种情况的唯一方法是将 node_modules 文件夹标记为 windows 中的隐藏文件夹(仅限顶级)。