Sublime无法对React函数进行语法高亮?

7

我正在尝试使用这种语法来内联绑定我的函数:

onChange = () => {

}

然而,我的Sublime编辑器没有正确地进行高亮显示:

sublime

我正在使用Sublime的Babel插件进行语法高亮。

有人知道如何让它识别这种样式吗?

4个回答

5

请检查以下内容

查看 -> 语法 -> 打开所有当前扩展名为... -> Babel -> Javascript(Babel)。

或者

Ctrl - Shift - P,输入"Babel"并选择设置语法:Javascript(Babel)

来源


1
完美而华丽的指令。谢谢。 - BenKoshy

2
ST3依赖于语言定义来提供语言特性,如代码折叠、语法高亮等。然而,在JavaScript中,有许多不同的语言风格,如ES5、ES6、JSX等。要正确理解和解析它们中的每一个并不容易,考虑到ST3的设计(使用大多是正则表达式匹配的语言定义文件)。
因此,根据您要查找的内容,您可能需要安装Java​Script​Next - ES6 Syntax,它有助于ST3更好地理解语言及其语法。如果我没记错的话,市场上还有其他类似的插件可供选择。
然后是语法高亮的概念——同样地,如果核心编辑器无法本地理解什么是JS和什么是类JS,那么这些插件就依赖于语言定义的质量,因此可能存在一些缺陷。有一些选项可以尝试,看看哪个最适合您:
  • naomi - Sublime Text 3的增强语法定义。支持stage-0特性。

  • babel-sublime - ES6 JavaScript的语法定义,带有React JSX扩展。但是箭头函数存在一些问题,请参见#301

  • sublime-react - 实际上已被babel-sublime取代,但您可能还想查看它。

无论您选择什么,都需要进行一些尽职调查。检查它们的问题列表,看看是否有任何值得注意的地方。依靠转换器只能走得那么远。

作为长期使用ST3的用户,我经常发现一个或多个问题。而且根据您是在纯JS还是React上工作,您可能不得不不断切换或接受一些妥协。

最终,我转向使用VSCode(也试过Atom),它本身就能理解语言及其变体,并提供扩展API供开发者构建。因此,它的语法理解和高亮功能比ST3 + 扩展所能提供的要更强大。

我已经阅读了其他答案中提到的babel-sublime,但是到目前为止,naomi是唯一一个可以正确突出显示常规Javascript和嵌入式JSX语法的工具。谢谢。 - JamesWilson

1

0

屏幕截图

对我来说,JSX效果最好。

点击右下角并选择如屏幕截图所示的JSX


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接