Sublime 没有语法高亮 React 函数?

问题描述 投票:0回答:4

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

onChange = () => {

}

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

我正在使用 Babel 包用于 sublime 进行语法高亮显示。

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

reactjs sublimetext3 sublimetext
4个回答
5
投票

检查这个

视图 -> 语法 -> 以当前扩展名打开所有内容... -> Babel -> Javascript(Babel)。

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

来源


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 + 扩展中获得的功能。

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

1
投票
这里有两个可能有用的链接:

https://medium.freecodecamp.org/a-guide-to-preserving-your-wrists-with-sublime-text-snippets-7541662a53f2

https://gist.github.com/LeZuse/2324352

或者

https://gist.github.com/ZYinMD/860926a178ccd6d107ffe2c6727b5845


0
投票

ScreenshotJSX 最适合我。

点击右下角并选择 JSX,如截图所示

© www.soinside.com 2019 - 2024. All rights reserved.