【发布时间】:2016-12-03 05:45:32
【问题描述】:
我有一个使用 TypeScript 的 ASP.NET Core 项目。
是否可以在 Visual Studio 中调试 TypeScript 代码?
【问题讨论】:
-
它应该默认工作。什么不工作?你能分享更多细节吗?
标签: typescript visual-studio-2017
我有一个使用 TypeScript 的 ASP.NET Core 项目。
是否可以在 Visual Studio 中调试 TypeScript 代码?
【问题讨论】:
标签: typescript visual-studio-2017
在 Visual Studio 的早期版本中,这是不可能的。
然而,在 Visual Studio 2017 中,此问题已得到修复。只需设置断点并使用 IE(或 Chrome)运行您的项目,您的断点将在您的 ts 文件中命中,您可以在 VS 环境中单步执行代码(而不是在浏览器代码调试窗口中)。这是 Typescript 开发向前迈出的一大步。
有趣的是,如果代码跳转到另一个没有匹配ts文件的文件,代码会跳转到js,然后在可以的时候再次跳转回ts。
【讨论】:
【讨论】:
我试图将 dotnetcore ReactRedux 模板转换为 Typescript,但无法获得断点来命中我的 typescript 文件。
我能够确定,在您的tsconfig.json 文件中,您需要设置inlineSourceMap:true 和inlineSources:true 选项。
【讨论】:
使用 Microsoft Edge DevTools Protocol 可以非常轻松地调试 JavaScript 和 TypeScript,Windows 10 April 2018 Update (Version 1803) 提供了这些功能。您还需要Visual Studio 2017 Version 15.7 或更高版本。
之前我在运行 JavaScript 调试时遇到了很多问题,但有了这些更新,它开箱即用:
注意:使用Edge时会提示开发者工具服务器已经启动:
【讨论】:
我发现了两个在 Visual Studio 2017(ver15.9.5) 中不会中断的条件。
1) .UseContentRoot
在Program.cs的WebHost.CreateDefaultBuilder方法中,如果使用UseContentRoot()改变内容路由,VS不会Break。
2) wwwroot 文件夹
您可以通过 UseWebRoot() 更改 webroot,这可以正常工作。
但是如果你删除项目根目录下的“wwwroot”文件夹,VS不会Break。
【讨论】: