Sublime语法没有突出显示React函数吗?

时间:2018-09-25 17:50:12

标签: reactjs sublimetext3 sublimetext

我正在尝试使用这种语法对函数进行内联:

onChange = () => {

}

但是,我的崇高编辑器没有正确突出显示它:

sublime

我正在使用Babel package for sublime突出显示语法。

有人知道如何使它识别这种风格吗?

3 个答案:

答案 0 :(得分:2)

ST3依靠语言定义来提供语言功能,例如代码折叠,语法突出显示等。但是,使用JavaScript,您有多种不同的语言风格,例如ES5,ES6,JSX等。正确理解和解析每种语言考虑到ST3的设计(使用主要是正则表达式匹配的语言定义文件),其中的一项并不容易。

因此,根据您要查找的内容,您可能需要安装Java​Script​Next - ES6 Syntax,这有助于ST3更好地理解语言及其语法。如果我没记错的话,市场上几乎没有其他类似的东西。

然后是语法高亮的概念-再次,在核心编辑器没有原生理解 JS JS-like 是什么的情况下,这些插件依赖于语言定义确实存在一个或多个缺点。您可以尝试以下几种方法,以查看最适合的方法:

  • naomi-Sublime Text 3的增强语法定义。支持Stage-0功能

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

  • sublime-react-实际上已弃用了babel-sublime,但您可能想查看一下。

无论您选择什么,都需要做一些尽职调查。检查他们的问题清单,看看是否有什么对您有利。依靠转译者只能走这么远。

作为ST3的长期用户,我不断发现一个或多个问题。并且取决于您是使用纯JS还是React,您可能不得不继续切换或接受一些折衷方案。

最终,我切换到了VSCode(也尝试过Atom),该语言可以理解该语言及其本地风味,并提供作者可以在其上构建的扩展API。因此,语法理解和突出显示功能远远超过了ST3 + Extensions所能提供的功能。

答案 1 :(得分:1)

检查

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

Ctrl - Shift - P ,键入“ Babel ”,然后选择设置语法:Javascript (通天塔)

Source

答案 2 :(得分:1)

想到的唯一解决方案是为Sublime创建一个自定义代码段,以“识别”箭头函数或通常使用简化后的语法来声明一个函数。

以下两个链接可能会有用:

https://github.com/duyduong/DDMvvm

https://medium.freecodecamp.org/a-guide-to-preserving-your-wrists-with-sublime-text-snippets-7541662a53f2 要么 https://gist.github.com/LeZuse/2324352