我正在尝试使用这种语法对函数进行内联:
onChange = () => {
}
但是,我的崇高编辑器没有正确突出显示它:
我正在使用Babel package for sublime突出显示语法。
有人知道如何使它识别这种风格吗?
答案 0 :(得分:2)
ST3依靠语言定义来提供语言功能,例如代码折叠,语法突出显示等。但是,使用JavaScript,您有多种不同的语言风格,例如ES5,ES6,JSX等。正确理解和解析每种语言考虑到ST3的设计(使用主要是正则表达式匹配的语言定义文件),其中的一项并不容易。
因此,根据您要查找的内容,您可能需要安装JavaScriptNext - 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 (通天塔)
答案 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