使用Visual Studio 2013保存的Typescript编译?

时间:2013-07-17 22:43:33

标签: typescript visual-studio-2013

我无法使用Compile-on-Save与VS2013配合使用。我安装了VS2013,重新安装了TS 0.9.0.1,在“工具”,“选项”,打字稿/项目/常规下,我检查了两个“编译保存”选项。但是当我向项目添加一个新的TS文件,然后编辑并保存它时,更改不会反映在相关的.js文件中。

我做错了吗?有其他人有这个问题吗?

9 个答案:

答案 0 :(得分:52)

This为我解决了这个问题:

  
      
  1. 转到“工具”菜单下的“选项”。
  2.   
  3. 展开文字编辑器的选项
  4.   
  5. 展开TypeScript的选项
  6.   
  7. 展开Project
  8. 的选项   
  9. 选中“自动编译不属于项目的TypeScript文件”
  10.   

答案 1 :(得分:16)

我遇到以下情况:该项目是使用vs2012和早期版本的typescript创建的。我升级到了VS2013,并且在保存时没有编译最新版本的typescript(0.9.1.1)和脚本。

然后我从我的项目中排除了typescript文件,并使用Add existing file再次添加它。之后,typescript文件在保存时编译正确!!

答案 2 :(得分:7)

在升级到Web Essentials 1.85(2月14日)之后,TypeScript 0.9.5编译保存在现有项目上停止工作。我重新安装两个都没有用,但看到它适用于新项目后,我尝试在我的csproj中改变这一行,从中;

<Project ToolsVersion="4.0" />

<Project ToolsVersion="12.0"/>

神奇的是,编译保存再次开始工作。

答案 3 :(得分:4)

请尝试按照以下说明操作:

Compile-on-Save

我一直在努力解决这个问题,但我认为我对它进行了整理。我认为部分混乱来自于WebEssentials与新的TypeScript插件集成之间的差异。

我是TypeScript的早期采用者,并在2012年使用WebEssentials工具进行保存编译。我已将此配置为生成.js和.min.js文件,这些文件都自动添加到项目中。

升级到VS 2013时,我从内置的TypeScript支持中寻找相同的功能,但它不存在(据我所知)。

相反,我相信2013年的集成工具涵盖了开发和生产工作流程。

上面的说明为您设置了在发布期间应该进行的构建时编译。在开发期间,“编译保存”功能会在磁盘上生成文件,但不会将它们添加到项目中。

然后我意识到生成的文件实际上并不像以前那样是项目的一部分,为什么它比WebEssentials解决方案更好(不包括缺少预览窗口!)。

答案 4 :(得分:2)

对我来说,即使Compile-on-save工作(Visual Studio 2013),如果其他人试图运行Web项目,它也不会自动生成javascript文件。在我的项目中,我包含了*.js个文件和*.js.map个文件,以防止IIS在修改*.ts文件时不使用新版本。但是这些文件不包含在源代码管理中。

我这样做是因为我在csproj项目文件的末尾包含了以下行:

<Target Name="AfterBuild">
  <Exec Command="tsc.exe --sourcemap _core.ts" WorkingDirectory="$(MSBuildProjectDirectory)\js" />
</Target>

其中_core.tsjs文件夹中的一个文件 - 我确信 - 在其开头直接或间接通过标题引用所有文件。

/// <reference path="_dependent.ts" />
...

以便tsc.exe处理所有相关文件。

答案 5 :(得分:1)

除了上述步骤之外,如果编译时保存尚未生效,请将项目标记为启动项目(在VS 2013解决方案资源管理器上,右键单击,设置为启动项目)。

此解决方案由nicholasjgreen在Codeplex上发现,并发布在http://typescript.codeplex.com/wikipage?title=Compile-on-Save的评论中。

答案 6 :(得分:1)

我通过将函数添加到Typescript文件的末尾来解决了这个问题。当新的&#39;新的&#39;函数是在页面顶部键入的(在其他函数之前)但是当我将它添加到最后一个函数下面时它才起作用。只花了三个小时!

答案 7 :(得分:0)

你是否使用drag'n'drop添加了打字稿文件? 然后可能是文件的构建操作具有错误的值。使用文件的属性窗口(F4或alt + enter)并验证那里的构建操作......

答案 8 :(得分:0)

使用以下方法更容易找到此功能。 (VS2015)

  1. 转到工具&gt;选项
  2. 确保您选择了“显示所有设置”。这是靠近窗口底部的复选框。
  3. 在搜索栏中输入“打字稿”并按Enter键。
  4. 现在应该过滤列表。导航到以下设置:文字编辑器&gt;打字稿&gt;项目&gt;常规
  5. 现在选择“自动编译不属于项目的TypeScript文件”。按确定。