Visual studio “打字脚本生成设置”;“保存时编译”;在VS 2015中不起作用。js文件仅在生成期间生成
编辑 为什么这个问题非常痛苦?到目前为止,当我调试/测试我的Web应用程序时,我刚刚在VS IDE中编辑了.ts,保存,然后重新加载页面并测试了更改。现在我必须建造。但是,在VS IDE中运行调试会话时,未启用生成。所以现在我必须做一个完整的往返:edit.ts->save->stop debug->build->launch debug。同样,这是非常痛苦的。 结束编辑 我已取消选中/保存/检查了项目设置中TypeScript Build选项卡中的设置 相应的Visual studio “打字脚本生成设置”;“保存时编译”;在VS 2015中不起作用。js文件仅在生成期间生成,visual-studio,typescript,visual-studio-2015,Visual Studio,Typescript,Visual Studio 2015,编辑 为什么这个问题非常痛苦?到目前为止,当我调试/测试我的Web应用程序时,我刚刚在VS IDE中编辑了.ts,保存,然后重新加载页面并测试了更改。现在我必须建造。但是,在VS IDE中运行调试会话时,未启用生成。所以现在我必须做一个完整的往返:edit.ts->save->stop debug->build->launch debug。同样,这是非常痛苦的。 结束编辑 我已取消选中/保存/检查了项目设置中TypeScript Build选项卡中的设置 相应的已生成并保存到my.csproj
已生成并保存到my.csproj文件中
(注意,在不更改任何TypeScript生成设置的情况下,此
不存在(当使用以前使用VS 2013创建的现有项目时),并且生成默认值与IDE UI上的默认值不同,因此您会被误导。)
无论如何,在此更改/保存活动之后,我的.csproj文件将与IDE UI同步,如下所示:
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptRemoveComments>True</TypeScriptRemoveComments>
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
<TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
<TypeScriptModuleKind>None</TypeScriptModuleKind>
<TypeScriptOutFile />
<TypeScriptOutDir />
<TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
<TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
<TypeScriptSourceMap>True</TypeScriptSourceMap>
<TypeScriptMapRoot />
<TypeScriptSourceRoot />
</PropertyGroup>
真的
ES5
真的
假的
没有一个
假的
真的
真的
如图所示,保存时编译肯定已启用。仍然是.js文件仅在生成期间生成,而不是在保存.ts文件时生成
顺便说一句:关于TypeScript编译是VS 2015实现中的一项msbuild任务,有趣的是,这个保存设置上的编译是如何工作的
更多诊断:
有趣的是,如果我删除整个propertygroup,它实际上会在保存时编译。(用户界面保持不变,保存时不生成.map文件,仅在生成时生成。)是否查找“工具”菜单
- 比较了略有不同的PropertyGroup部分,因此我测试了您的配置和
这可能无关紧要,但我有:
- Visual Studio Pro 14.0.23107.0
- Microsoft ASP.NET和Web工具14.0.60814.0
- MS的打字脚本VS 1.6.3.0(!)
- 已安装Web Essentials 0.5.197
- 已安装Web编译器1.8.270
- 捆扎机和小型捆扎机未安装
- 再竖琴9.2(?)
要测试它,我建议:
最后,我在我的
tsconfig.json
中添加了“compileOnSave”:true
,使它能够正常工作
因此,您的tsconfig应该如下所示:
{
"compilerOptions": {
....
},
"compileOnSave": true
}
在我将
tsconfig
文件中的compileOnSave
移动到之前的compilerOptions
时为我工作。对于Visual Studio 2019:
步骤1工具选项:
在tsconfig.json中执行步骤2:
{
“编译保存”:是的,我在我的typescript项目中创建了一个单独的输出js文件。如果我构建,它仍然会为每个ts文件创建一个js文件。如果我在保存时编译,它会正确地输出到一个单独的js文件。奇怪的、有缺陷的、耗时的和令人沮丧的体验。有时ts文件会出现故障,如果我打开_references.ts并将其保存在该文件中,它会失败遵循引用顺序,js输出再次正确。我还没有找到将多个ts文件编译为单个js文件的“正确”方法,但是-如果有。我没有这样的选项…只有我?不,我没有这个选项/类别。(@2015 Update 1)Typescript的设置存在于Tools->Options->Text Editor->Typescript->Project
下,这应该被标记为答案…Tools->Options->Text Editor->Typescript->Project是在保存时启用自动编译的地方。这仍然不起作用。现在我正在与VS 2017的问题作斗争。现在我有了这个问题自动编译选项,但是说“自动编译…这不是项目的一部分”。顺便说一句,这是我的问题。我在选项下面有compileOnSave
,不知道为什么它不起作用。谢谢。