JSX
JSX 文件的语言定义。
标签 语言语法
详细信息
安装
- 总计 228K
- Win 87K
- Mac 100K
- Linux 41K
8 月 6 日 | 8 月 5 日 | 8 月 4 日 | 8 月 3 日 | 8 月 2 日 | 8 月 1 日 | 7 月 31 日 | 7 月 30 日 | 7 月 29 日 | 7 月 28 日 | 7 月 27 日 | 7 月 26 日 | 7 月 25 日 | 7 月 24 日 | 7 月 23 日 | 7 月 22 日 | 7 月 21 日 | 7 月 20 日 | 7 月 19 日 | 7 月 18 日 | 7 月 17 日 | 7 月 16 日 | 7 月 15 日 | 7 月 14 日 | 7 月 13 日 | 7 月 12 日 | 7 月 11 日 | 7 月 10 日 | 7 月 9 日 | 7 月 8 日 | 7 月 7 日 | 7 月 6 日 | 7 月 5 日 | 7 月 4 日 | 7 月 3 日 | 7 月 2 日 | 7 月 1 日 | 6 月 30 日 | 6 月 29 日 | 6 月 28 日 | 6 月 27 日 | 6 月 26 日 | 6 月 25 日 | 6 月 24 日 | 6 月 23 日 | 6 月 22 日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 5 | 3 | 3 | 3 | 1 | 3 | 1 | 0 | 5 | 3 | 4 | 0 | 2 | 0 | 4 | 3 | 1 | 3 | 2 | 3 | 4 | 2 | 4 | 1 | 0 | 1 | 3 | 3 | 2 | 4 | 1 | 4 | 1 | 5 | 3 | 2 | 2 | 1 | 1 | 3 | 0 | 4 | 5 | 1 | 0 | 0 |
Mac | 2 | 1 | 0 | 2 | 2 | 0 | 0 | 2 | 3 | 2 | 3 | 1 | 3 | 2 | 2 | 2 | 2 | 1 | 0 | 0 | 2 | 0 | 1 | 2 | 3 | 1 | 2 | 2 | 2 | 2 | 3 | 1 | 0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 2 | 3 | 1 | 1 | 2 |
Linux | 2 | 1 | 1 | 0 | 2 | 1 | 3 | 2 | 0 | 1 | 1 | 1 | 0 | 2 | 0 | 1 | 0 | 0 | 2 | 1 | 2 | 1 | 1 | 1 | 0 | 1 | 1 | 5 | 3 | 2 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 3 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
README
JSX-SublimeText
JSX 文件的语言定义。
Emmet 支持
您需要在 JSX 文件中添加一个键盘快捷键以完成标签。
打开 首选项 > 键盘绑定 - 用户
并添加此条目
{
"keys": ["tab"], "command": "expand_abbreviation_by_tab", "context": [
{
"operand": "source.js.jsx",
"operator": "equal",
"match_all": true,
"key": "selector"
},
{
"key": "selection_empty",
"operator": "equal",
"operand": true,
"match_all": true
}
]
},
{
"keys": ["tab"], "command": "next_field", "context": [
{
"key": "has_next_field",
"operator": "equal",
"operand": true
}
]
}
命名空间
https://text.sublime.net.cn/docs/3/scope_naming.html
JSX-SublimeText 选择有一个瘦命名空间表面面积,因为过于命名命名空间会增加特定性和使调色板变得更加困难。
有 5 个主要区域:关键字/支持、实体、常量、字符串和注释。
关键字/支持
JSX-SublimeText 选择将所有 JavaScript 保留字放在一个命名空间中,以区分 JavaScript 语言和作者的代码。
所有内置对象和函数都放在 support.class.js
和 support.function.js
下。
实体
实体范围通常分配给代码和标记中数据结构、类型和其他独特标识的结构的名称。
JSX-SublimeText 只做两个实体分配。第一个是实际的 JSX/XML 部分(entity.name.tag
),第二个是 flow/ts 类型声明(entity.name.type
)。
问题 & 问题
具体/一般语法高亮之间的界限似乎是主观的。由于我个人的偏好在 JSX-SublimeText 中使用较少的高亮,因此它比其他 JS/JSX 语法简单。如果您发现语法的一部分破坏了您的调色板或您不喜欢选择,请随时打开问题。我很乐意听取我错了或证明有更好的方法。
参考
// Keywords
keyword.control.js // js reserved words
support.class.js // built-in objects
support.function.js // built-in functions
// Entities
entity.name.tag.jsx // JSX
entity.name.type // types
// Constants
constant.character.escape // escaped characters
constant.language.js // true|false|null|Infinity|NaN|undefined
constant.numeric.js // numbers
constant.character.entity.html // html character entities
// Strings
string.quoted.js
string.regexp.js
// Comments
comment.block.js // block.comments
comment.block.jsx // jsx comments
comment.line.js // line comments