我已经使用Sublime很长一段时间了。我没有做太多的定制,特别是最近,然而它以我以前从未见过的方式突出了Ruby的界限。我不知道它的来源或为何突出它。
将文件内容重新分配到新缓冲区并重新保存并不能解决问题,突出显示也会出现在新文件中。
有没有人看过这个或有任何关于它为什么会发生的指示?
完整文件内容
require 'serialport'
port_str = '/dev/tty.usbmodemfd121'
baud_rate = 9600
data_bits = 8
stop_bits = 1
parity = SerialPort::None
sp = SerialPort.new(port_str, baud_rate, data_bits, stop_bits, parity)
while true do
sp.puts 123
end
sp.close
Sublime设置:
{
"alignment_chars":
[
"="
],
"alignment_space_chars":
[
"="
],
"font_size": 15.0,
"ignored_packages":
[
"LiveReload",
"Git",
"_User",
"SublimeLinter",
"BracketHighlighter",
"Rubocop"
],
"scroll_past_end": true
}
Ruby特定设置
{
// The number of spaces a tab is considered equal to
"tab_size": 2,
// Set to true to insert spaces when tab is pressed
"translate_tabs_to_spaces": true,
// If translate_tabs_to_spaces is true, use_tab_stops will make tab and
// backspace insert/delete up to the next tabstop
"use_tab_stops": true,
}
包裹控制设置
{
"auto_upgrade_last_run": null,
"installed_packages":
[
"AdvancedNewFile",
"Alignment",
"Better CoffeeScript",
"BracketHighlighter",
"CoffeeComplete Plus (Autocompletion)",
"CoffeeScript",
"DocBlockr",
"Emmet",
"Gist",
"Git",
"IndentGuides",
"LiveReload",
"Nettuts+ Fetch",
"Package Control",
"PhpBeautifier",
"PlainTasks",
"RSpec (snippets and syntax)",
"RuboCop",
"SCSS",
"SublimeLinter",
"Todo",
"Wordpress"
]
}
更新:我认为问题是由RuboCop包引起的。但它比这复杂一点。
目前已启用Rubocop,我看到突出显示并单击突出显示的行显示底部状态栏中的攻击,如此处所示。
然而,在禁用Rubocop软件包并重新启动Sublime之后,仍然会突出显示,如此处所示。顶部显示的lst是Sublime的“Package Control:Enable Package”命令的结果,这意味着它显示当前禁用的包。此外,单击突出显示的行不会像以前一样在底部状态栏中报告攻击。
虽然我没有真正的诊断,但我确信问题是Rubocop包。如有必要,我很高兴关闭这个问题。
答案 0 :(得分:1)
这确实是与Sublime RuboCop插件相关的问题。
主要错误是重启ST后标记无效。感谢@imbric报道它!
我今天解决了这个问题 - 如果您通过Package Control更新插件,意外标记应该按预期运行。
您可以通过ST菜单条目“RuboCop:Toggle auto check”关闭标记。
答案 1 :(得分:0)
部分问题也是BracketHighlighter
。我不太了解Ruby,所以我不确定它为什么会发生,但我在BracketHighlighter(以及其他一些插件)的启用下得到了以下内容:
当我禁用BracketHighlighter时,问号会消失,while
周围的框也会消失。尝试禁用BracketHighlighter,看看你的突出显示是否消失。
此外,当我删除单词do
时,该框会消失,因此它可能只是一个Ruby语法错误。