如何在Sublime Text中为React JSX定义注释字符?

时间:2014-11-11 20:49:06

标签: sublimetext sublimetext3 reactjs react-jsx

在OSX中,在Sublime Text 3(build 3065)中,语法设置为JavaScript(JSX)或仅JSX,我正在按照惯例 cmd + / 注释掉所选文字。

然而,ST3默认为//评论字符,当我想包装这样的选择时:

{/* foobar selected text */}

我在这里看,但无法弄清楚要编辑的内容:

/Users/admin/Library/Application Support/Sublime Text 3/Packages/User/JavaScript (JSX).tmLanguage

提前致谢! :)

2 个答案:

答案 0 :(得分:8)

在名为Packages/User的{​​{1}}中创建一个XML文件,其中包含以下内容(我假设您的语言的基本范围为Comments.tmPreferences - 您可以在{{1}中找到此文件文件):

source.jsx
点击 /

.tmLanguage将保留默认评论前缀,但是当您选择一些文字并点击 Shift / 您将其包装在<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>name</key> <string>Comments</string> <key>scope</key> <string>source.jsx</string> <key>settings</key> <dict> <key>shellVariables</key> <array> <dict> <key>name</key> <string>TM_COMMENT_START</string> <key>value</key> <string>// </string> </dict> <dict> <key>name</key> <string>TM_COMMENT_START_2</string> <key>value</key> <string>{/* </string> </dict> <dict> <key>name</key> <string>TM_COMMENT_END_2</string> <key>value</key> <string> */}</string> </dict> </array> </dict> <key>uuid</key> <string>F9BFFF1F-1999-4722-B094-52E8AFD234D1</string> </dict> </plist> 中。

如果您想完全摆脱//,请改用以下内容:

{/* blahblahblah */}

答案 1 :(得分:0)

虽然上一个答案部分解决了问题,但它并未正确删除评论。

我向plugin添加了https://github.com/borela/naomi,正确检测了要使用的所需评论类型,它适用于行和块注释。