打字稿的编辑器和调试器

时间:2015-05-02 09:33:00

标签: debugging ide typescript

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

我尝试过webstorm和visual studio(使用NTVS),但对两者都不满意。 Webstorm忽略了许多构建错误(非常重要,因为这些错误会在CI期间失败),并且在智能感知和易用性方面不如视觉工作室好。另一方面,Visualstudio没有我想要的那么快。此外,我绑定到窗口和node_modules中的文件名长度问题是非常频繁和烦人的。

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

你能分享一下你的经历吗?此外,我想知道哪些编辑谷歌开发人员可能会用来开发角度2:)

4 个答案:

答案 0 :(得分:3)

我已经在一个TypeScript项目上工作了1。5年,我很高兴使用Visual Studio,因为我们使用.NET作为后端的东西。对于我自己,我认为速度为“好”,它不是那么好 - 但其他的东西,例如intellisense是我们真正喜欢的。我个人认为,作为微软的“儿子”,TypeScript将得到其“堂兄” - Visual Studio的最佳支持。

但是,如果您是Eclipse人员,则可能对此TypEcs(http://typecsdev.com/)感兴趣。 Steve Fenton还发表了一篇关于你可能感兴趣的TypeScript IDE的帖子(https://www.stevefenton.co.uk/Content/Blog/Date/201409/Blog/Which-TypeScript-IDE/),他列出了几个流行的一些评论,包括Atom和atom-typescript扩展。

答案 1 :(得分:2)

谈话有点迟了。

我最近尝试过VisualStudio 2015,VisualStudio Code 0.9,Atom(带Atom-Typescrip t包)。并且对Atom很满意。

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

调试无法找到。但是喜欢用node-inspector来减轻它的重量。问题是你需要在javascript版本中调试它而不是在typescript版本中。不太确定,但也许你可以提供地图文件,你可以调试打字稿版本?就像我们在Google Chrome Inspector上一样。

答案 2 :(得分:1)

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

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

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

答案 3 :(得分:0)

我正在使用VSCode来主动调试角度/节点/打字稿应用程序。它确实有效,但您需要进行一些设置/配置。您必须告诉VSCode如何调试您的应用程序。例如,我在launch.json配置中有多个选项来调试我的gulp脚本,我的节点server.js文件,以及使用"调试器for Chrome"通过chrome调整angular / typescript应用程序。扩展安装在VSCode中。一些配置都是可能的。最后,根据您的具体情况,您可能需要拥有并正确配置项目的地图文件,从javascript到打字稿。

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