也许这是显而易见的,但我到处检查(除了正确的地方),谷歌它。什么都没有。
当前回答
As far as I understand VS has nothing to do with TS installed by NPM. (You may notice after you install TS using NPM, there is no tsc.exe file). VS targets only tsc.exe installed by TS for VS extension, which installes TS to c:\Program Files (x86)\Microsoft SDKs\TypeScript\X.Y. You may have multiple folders under c:\Program Files (x86)\Microsoft SDKs\TypeScript. Set TypeScriptToolsVersion to the highest version installed. In my case I had folders "1.0", "1.7", "1.8", so I set TypeScriptToolsVersion = 1.8, and if you run tsc - v inside that folder you will get 1.8.3 or something, however, when u run tsc outside that folder, it will use PATH variable pointing to TS version installed by NPM, which is in my case 1.8.10. I believe TS for VS will always be a little behind the latest version of TS you install using NPM. But as far as I understand, VS doesnt know anything about TS installed by NPM, it only targets whateve versions installed by TS for VS extensions, and the version specified in TypeScriptToolsVersion in your project file.
其他回答
首先,确保在环境变量路径中有以下地址
C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.0
然后打开命令提示符,输入以下命令:
tsc -v
tsc -v命令在Windows Path变量的SDK目录集中读取TypeScript编译器版本。这并不一定反映安装的最新版本,因为Path变量没有随着后续安装而更新。
VS.NET用来编译TypeScript的版本在项目的配置中:
< TypeScriptToolsVersion > 1。5 < / TypeScriptToolsVersion >
为了更详细地解释这一点,我创建了下面的帖子,其中有关于安装的TypeScript版本的细节,以及VS.NET使用哪个版本来编译TypeScript文件。
TypeScript安装的版本和Visual Studio使用的版本?
我还在Microsoft Connect上添加了一个特性请求,以便更容易地查看和切换VS.NET中的TypeScript目标版本。这并不是一个真正的TypeScript特性请求,而是一个VS.NET IDE增强。
允许从项目属性IDE切换TypeScript配置版本
我有VS2015,我必须用TypeScript 1.7运行一个构建,虽然我有1.8安装通过npm install TypeScript -g有两种方法(至少对我来说他们工作):
到你的.proj文件中,尽可能地添加<TypeScriptToolsVersion>1.7</TypeScriptToolsVersion>。重建,重新运行。如果不行,试试2。 进入“控制面板->系统->高级系统设置->环境变量”。确保你先添加了你想要的TypeScript版本:C:\Program Files (x86)\Microsoft sdk \TypeScript\1.7;C:\Users\serban\AppData\Roaming\npm
这也会影响你的CLI:
$ tsc -v
message TS6029: Version 1.7.5
基于basarat的响应,我在这里给出了更多关于如何在Visual Studio 2013中运行它的信息。
进入Windows开始按钮->所有程序-> Visual Studio 2013 -> 打开Visual Studio Tools窗口,并显示工具列表。
选择VS2013的开发人员命令提示符 在打开的控制台中写入:tsc -v 你得到的版本:见图片
(更新)
如果你把你的Visual Studio更新到Typescript的新版本1.0。你在这里看不到最后的版本。查看最后的版本:
转到:C:\Program Files (x86)\Microsoft SDKs\TypeScript,在那里你会看到类型为0.9,1.0 1.1的目录 输入您拥有的较大的数字(在本例中为1.1) 复制目录并在CMD中运行tsc -v命令,您将得到 的版本。
注意:Typescript 1.3 install在目录1.1中,因此运行命令来了解你安装的最后一个版本是很重要的。
注意:有可能您已经安装了1.3版本,而您的代码使用1.0.3。为了避免这种情况,如果你的Typescript在一个单独的项目(s)卸载项目,看看Typescript标签:
<TypeScriptToolsVersion>1.1</TypeScriptToolsVersion>
设置为1.1。
(更新2)
TypeScript版本1.4,1.5 ..1.7安装在1.4,1.5…1.7的目录。他们不是问题的发现版本。如果你在一个单独的项目中有typescript,并且你从以前的typescript迁移,你的项目继续使用旧版本。要解决这个问题:
卸载项目文件并将typescript版本更改为1。x:
<TypeScriptToolsVersion>1.x</TypeScriptToolsVersion>
如果使用visual studio安装文件安装typescript,那么新的typescript编译器的路径应该自动更新为指向1。x目录。如果你有问题,检查你的环境变量Path包含
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.x\
给微软的建议:-)因为Typescript是和其他版本一起运行的,所以最好在项目属性中有一个组合框来选择Typescript编译器(类似于选择net版本)
从Visual Studio 2022开始,Angular/React/Vue有了新的TypeScript/JavaScript项目类型,TypeScript SDK已弃用(但仍然可以通过VS安装程序安装,并带有警告),Visual Studio应该根据你的项目使用的TypeScript版本提供智能感知和语言支持(npm是通过包指定你正在使用的TypeScript版本的首选方式)。json文件)。
不过,根据这个答案,仍然有关于如何控制/辨别Visual Studio 2022在任何给定时刻支持哪种特定的TypeScript语言版本的问题。
推荐文章
- 为什么ReSharper想要使用'var'的一切?
- 我如何使用可选的链接与数组和函数?
- 如何禁用ts规则为特定的行?
- Angular 2单元测试:找不到名称“describe”
- 在Visual Studio中默认从项目中删除安全警告(_CRT_SECURE_NO_WARNINGS)
- 如何在Angular中显示应用版本?
- 在Visual Studio中设置“首选32位”的目的是什么?它实际上是如何工作的?
- c# 8支持。net框架吗?
- “declare”在“export declare class Actions”中做什么?
- 如何在解决方案中找到未使用的NuGet包?
- 查看Visual Studio 2010+中的所有断点
- Angular和Typescript:不能找到名字——错误:不能找到名字
- 'this'隐式具有类型'any',因为它没有类型注释
- 如何禁用诊断工具?
- 在TypeScript中声明抽象方法