如何在VS2017中调试typescript代码?
我有一个ASP.NET核心项目,它使用TypeScript如何在VS2017中调试typescript代码?,typescript,visual-studio-2017,Typescript,Visual Studio 2017,我有一个ASP.NET核心项目,它使用TypeScript 是否可以在Visual Studio中调试TypeScript代码?在早期版本的Visual Studio中,这是不可能的 然而,在Visual Studio 2017中,这一问题已得到解决。只需设置断点并使用IE(或Chrome)运行项目,您的断点将在ts文件中命中,您可以在VS环境(而不是浏览器代码调试窗口)中单步执行代码。这是Typescript开发向前迈出的一大步 有趣的是,如果代码跳转到另一个没有匹配ts文件的文件,则代码将转
是否可以在Visual Studio中调试TypeScript代码?在早期版本的Visual Studio中,这是不可能的 然而,在Visual Studio 2017中,这一问题已得到解决。只需设置断点并使用IE(或Chrome)运行项目,您的断点将在ts文件中命中,您可以在VS环境(而不是浏览器代码调试窗口)中单步执行代码。这是Typescript开发向前迈出的一大步
有趣的是,如果代码跳转到另一个没有匹配ts文件的文件,则代码将转换为js,然后在可能的情况下再次转换回ts。确保启用浏览器链接以查看ts断点被命中。该选项是VS2017中浏览器选择下拉列表右侧的蓝色箭头圆圈,似乎默认为禁用
调试JavaScript和TypeScript是非常容易的,因为它可以在中使用。你还需要一个或更多的时间 之前,我在运行JavaScript调试时遇到很多问题,但通过这些更新,它只是开箱即用:
- 我刚开始调试你的ASP.NET项目
- 在TypesScript(或JavaScript)文件中设置断点
- 如果未启用JS调试,将显示一个消息窗口,建议启用它。此设置也可以在VS选项中找到(搜索“调试”以快速查找):工具>选项>调试>常规>启用ASP.NET(Chrome、Edge和IE)的JavaScript调试
- 无需重新启动。断点会立即命中
我试图将dotnetcore ReactRedux模板转换为Typescript,但无法获取断点以命中我的Typescript文件
我能够确定,在您的
tsconfig.json
文件中,您需要设置选项inlineSourceMap:true
和inlineSources:true
。我在Visual Studio 2017(版本15.9.5)中发现了两个不会中断的条件
1) .UseContentRoot在Program.cs中的WebHost.CreateDefaultBuilder方法中,如果使用UseContentRoot()更改内容路由,VS将不会中断 2) wwwroot文件夹
您可以通过UseWebRoot()更改webroot,这将正常工作。
但是,如果删除项目根目录中的“wwwroot”文件夹,VS将不会中断。默认情况下,它应该可以工作。什么不起作用?你能分享更多细节吗?我所知道的是,当调试器启动时,VS会与浏览器进行一些连接。我可以将其用于IE,但不能用于Chrome。知道为什么吗?此外,如果您将所有脚本放在一个捆绑包中,则此操作也不起作用-(编辑!如果我刷新了浏览器链接,则工作正常!)@GregGum我刚刚安装了VS2017社区版,但找不到要添加到项目中的typescript文件。您能否建议如何使用VS2017社区版的typescript,因为它不存在。那么,我需要下载并安装什么才能在VS2017社区版中获得typescript文件和ProiJet模板?映射是否复制到输出目录?你说的“映射是否复制到输出目录”是什么意思?我使用bundle将所有Js文件放在一个bundle中;我应该也包括地图文件吗?当我放置断点(在VS2017 TS文件中)时,我收到“未加载任何代码”的警告。根据:“您可以使用浏览器链接在多个浏览器中同时刷新web应用程序,这对跨浏览器测试很有用。”因此,这与命中断点无关。