作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
如何使用ES2015代码在Visual Studio 2015 for JSX中正确突出显示语法?
如果删除import
和export
关键字,效果很好:
我刚刚更新到Visual Studio 2015企业更新1,但仍然保持不变。
最佳答案
更新(2017-02)
自v1.2以来,Visual Studio节点工具(NTVS)一直在使用Salsa分析引擎,并且使用NTVS可能是JSX支持阻力最小的途径。
https://github.com/Microsoft/nodejstools
阅读(并赞扬)此答案以获取更多详细信息:https://stackoverflow.com/a/41996170/9324
原始答案
我遇到了同样的问题,找到了两种解决方案-一种使用ReSharper,另一种修改Visual Studio外部Web工具。
解决方案1
在ReSharper 10中:
render
函数中声明的任何元素的开头没有正确的颜色-但这很容易让我忽略。
JSX Parser: illegal import declaration
。 (可以使用下面的解决方案2解决此问题)
react-server
的本地运行的节点服务器模块来动态解析JSX。该模块可以在这里找到:
C:\Program Files (x86)\Microsoft Visual Studio
14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\react-server
react-server
命令的位置现在位于此文件中:
C:\Program Files (x86)\Microsoft Visual Studio
14.0\Web\External\vs-task-server\react-commands.js
server.js
或
react-commands.js
文件,还有一个名为
transformJsxFromPost
或
transformJsx
的函数。此方法包含以下行:
var transformed = reactTools.transformWithDetails(code, { elementMap: true });
。这是对
react-tools
模块(
https://www.npmjs.com/package/react-tools)的引用,该模块具有更多可用于解析ES6的选项。
var transformed = reactTools.transformWithDetails(code, { elementMap: true });
var transformed = reactTools.transformWithDetails(code, { elementMap: true, es6module: "--es6module", harmony: "--harmony" });
--es6module
和--harmony
标志的添加,它们指示react-tools
将传入代码视为ES6。 .jsx
文件应该不再在ES6代码上带有红色花样。 server.js
文件的更改是否会影响非ES6代码。因此,实现风险自负。 react-tools
中react-server
的使用很酷/很有趣。 更新:由于@NickDewitt,他似乎能够完成这项工作:https://stackoverflow.com/a/36321109/9324 关于visual-studio-2015 - Visual Studio 2015 JSX/ES2015语法突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37564786/
有没有一种方法可以“标记”对象的属性,使它们在反射中“突出”? 例如: class A { int aa, b; string s1, s2; public int AA
我是一名优秀的程序员,十分优秀!