升级到Visual Studio 2015后,“编译保存”功能对我不起作用。当我对项目中的.ts
文件进行更改并保存时,状态栏位于IDE说Output(s) generated successfully
,但生成的.js
文件不会更改。
这是我尝试过的:
将以下内容添加到<Project>
中的根.csproj
元素中:
<PropertyGroup>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
</PropertyGroup>
在Tools -> Options -> TypeScript -> Project
中选中并取消选中“自动编译不属于项目的TypeScript文件”选项:
仔细检查以确保在我的项目的TypeScript Build属性中选中“Compile on save”:
我错过了什么?
作为旁注,TypeScript编译步骤在由常规构建触发时按预期工作。
答案 0 :(得分:130)
对我来说,tsconfig.json
中有这个选项:
"compileOnSave": true,
"compilerOptions": { ... },
重新启动Visual Studio以使此更改生效。
答案 1 :(得分:31)
我今天偶然发现了这个问题:我通过使用新的{
"compilerOptions": {
"watch": true
}
}
编译器选项修复了这个问题,该选项也可以在最近的TypeScript版本中通过JSON获得:
Object doesn't support property or method 'watchFile'
执行此操作后,我必须解决与输出窗口中出现的以下错误相关的另一个问题:
tsc -v
事实证明我的系统使用的是过时版本的 TypeScript (1.0.x),尽管我确信我有一个更新的 Visual Studio 2015 Update 1 (1.7)。如果遇到此问题,可以通过在命令提示符下键入1.0.x
来轻松检查tsc版本。
如果它显示C:\Program Files (x86)\Microsoft SDKs\TypeScript
或任何&lt; 1.7,这可能是因为你的PATH环境变量中有一些旧的引用。通过检查Microsoft SDKs文件夹内部确保安装了1.7或更高版本,该文件夹是Visual Studio在更新时安装TypeScript软件包时使用的文件夹:
1.7
如果没有,请相应更新。打开 CPanel &gt; 系统&gt; 高级&gt; 环境变量,选择系统变量,然后点击修改;浏览列表以查找对TypeScript文件夹的任何引用,更改其中一个以使其指向TypeScript最新安装的版本(class Section < ActiveRecord::Base
belongs_to :teacher, :class_name => "Section", :foreign_key => "teacher_section_id"
has_many :students, :class_name => "Section", :foreign_key => "teacher_section_id"
end
或更高版本)并删除任何其他欺骗。另见下面的截图:
有关其他详细信息,请阅读我博客上的this post。
答案 2 :(得分:5)
此问题似乎已通过TypeScript Language Services
扩展程序的最新更新得到解决。
See this answer有关如何应用此更新的说明。
答案 3 :(得分:5)
解决方案:
对我来说,我很确定其他人也是如此,这是由于tsconfig.json中的错误。
您需要添加&#34; compileOnSave&#34;:true。但是在不在compilerOptions内部的全局部分中。
Wrong:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"compileOnSave": true
},
"exclude": [
"node_modules",
"wwwroot"
]
}
Correct:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5"
},
"compileOnSave": true,
"exclude": [
"node_modules",
"wwwroot"
]
}
致以最诚挚的问候,
Anders Both Basechat。
答案 4 :(得分:2)
在我的情况下,我在VS 2012一侧安装了Visual Studio Community 2015.我在2012年使用Web Essentials打字稿,这似乎与2015年有冲突。
2012年卸载Web Essentials为我解决了这个问题。
答案 5 :(得分:2)
使用typescript 2,您必须从tsconfig中删除“outDir”:修复Visual Studio中的错误。
答案 6 :(得分:1)
在项目属性中 - &gt; &#34; TypeScript Build&#34;,您也可以简单地取消选中&#34;如果报告任何错误,请不要发出输出。&#34;对它进行检查似乎会在保存时停用转换,不管是否存在错误。
答案 7 :(得分:1)
"compileOnSave": true,
对我不起作用。我终于发现,如果Visual Studio在您正在扩展的另一个"compileOnSave": true,
文件中定义,则它不会尊重.json
值。它必须在根目录才能发挥作用。
答案 8 :(得分:1)
找到hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
h,s,v = cv2.split(hsv_image)
fig = plt.figure(figsize=(8,7))
ax = plt.axes(projection='3d'), plt.title("Histogram 3D")
plt.hist(h.ravel(), 256, [0, 256])
plt.hist(s.ravel(), 256, [0, 256])
plt.hist(v.ravel(), 256, [0, 256])
中的文件,即C:\ file.ts,然后输入
terminal/cmd
答案 9 :(得分:1)
答案 10 :(得分:0)
在这里也有同样的问题。
我正在使用Visual Studio 2015更新3和TypeScript 2.9.2.0。在工具/选项/项目和解决方案/外部Web工具中,我将$(PATH)升级到第二个位置。
使用所有这些配置,compileOnSave:true对我不起作用。解决方法是打开命令行,在侧面运行ng build --watch
并让节点负责自动编译
答案 11 :(得分:0)
检查是否安装了在项目中配置的TypeScript版本。不知何故,我没有收到没有安装TypeScript 3.7的警告,但是保存时编译功能以静默方式停止工作。
一旦我安装了TypeScript 3.7,它就可以再次工作。
答案 12 :(得分:0)
我在Visual Studio 2019中遇到了类似但不相同的问题
我安装了较旧版本的TypeScript 2.9,重新启动了VS,然后它开始流行