Visual Studio 2015社区中的ES6/ES7支持

Mar*_* M. 24 ecmascript-6 visual-studio-2015 aurelia ecmascript-7

我听说VS 2015支持新的js语法但是当我在这个IDE中打开一个使用aurelia.js编写的项目时,intellisense会抱怨很多很多东西,例如.

export class UpperValueConverter {
  toView(value){
    return value && value.toUpperCase();
  }
}
Run Code Online (Sandbox Code Playgroud)

我安装了WebEssentials 2015.似乎仍然没有任何工作...可能一个重要的信息是我目前的VS安装是一个新的,所以我没有弄乱任何设置.

小智 6

Javascript是一种语言.ES6是Javascript的一个版本.Microsoft尚未为其提供intellisense映射文件.关于这篇文章的建议建议使用提供智能感知映射文件的javascript框架/ API.这些建议没有回答关于如何停止获取新Javascript版本的intellisense错误的问题.除非有人创建该映射文件并为我们提供从Visual Studio/tools/Javascript/Intellisence/references引用的URL,否则将直接编写ES6 Javascript语法错误.


小智 2

我在 .jsx 文件中遇到了这个问题,Visual Studio 2015 使用该react-tools插件来解析和突出显示语法错误。

我找不到现在遇到的问题,但有人说要更改以下文件中的一行:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\react-server\server.js
Run Code Online (Sandbox Code Playgroud)

更改以下行:

var transformed = reactTools.transformWithDetails(code, { elementMap: true });
Run Code Online (Sandbox Code Playgroud)

到:

var transformed = reactTools.transformWithDetails(code, 
    { elementMap: true, 
      es6module: "--es6module", 
      harmony: "--harmony", 
      nonStrictEs6module: "--non-strict-es6module"  });
Run Code Online (Sandbox Code Playgroud)

我添加了选项nonStrictEs6module,现在除了直接指定的箭头函数之外,它不会对大多数事情发出警告:

在此输入图像描述

如果我们能以某种方式设法将react-tools变换换成变压器,那就太好了,请在这里babel stage-1查看我的答案:-)

  • 每当我们必须手动开始使用程序文件进行跳汰时,如果我们还记得如何做的话,未来的更新很有可能会发现我们再次这样做。Visual Studio 社区工作人员需要直接解决这个问题。现在我使用“Open In Sublime Text”插件并在那里编辑我的 JS 文件。 (2认同)