【问题标题】:Pink highlight in sublime after "\""\" 后 sublime 中的粉色高亮
【发布时间】:2015-05-20 15:24:51
【问题描述】:

于是 Sublime Text 开始这样做了:

我在 SublimeREPL 中使用 Python 进行编码。它只发生在 Python 中,因此主题/配色方案不是问题。

我该如何摆脱它?

编辑: 所以我知道 \ 是不正确的语法,但我的问题是当我在代码中到达这一行时:

filepath = input('Enter file path (note: use \\\ instead of \\)\n')

我不知道如何打印它,因为它看起来很糟糕

【问题讨论】:

  • 可能表明这些字符不是有效的语法(因为它们跟随行继续字符 - 参见例如stackoverflow.com/q/29061670/3001761)。为什么要包括那些反斜杠?
  • 好吧,我在运行代码时确实注意到了这一点,并且在输出控制台中,我打印了以下语句:“输入文件路径(注意:使用 \ 而不是 \)” 现在看起来像这样. puu.sh/gELut/f3a8f07164.png
  • 所以它在输出,而不是你的代码?你说它“开始这样做” - 还有什么变化(更新、设置等)?
  • 我不确定。我之前在搞乱配色方案,我第一次安装了 sublimelint,但我把它去掉了。不,它在输出和代码中。
  • 发生这种情况是因为它不是正确的 python 语法。通常,这意味着字符串未转义且未关闭,例如"This is an invalid string\"。此外,Python cmets 以 # 而不是 \\ 开头,如果这是您想要做的。甚至 JavaScript cmets 也以 //(两个正斜杠)而不是反斜杠开头

标签: python sublimetext sublimetext3 sublime-text-plugin sublimerepl


【解决方案1】:

自我推销自己的项目,但其实解决了问题

查看PythonImproved 项目,它为 Sublime 附带的(实际上很糟糕)提供了替代语言定义。它可通过 Package Control 和 Github 获得。以下是普通 Python 视图中的所有示例文本:

并使用 Python 改进:

语法高亮 - Neon Color Scheme,我也是它的维护者。它完全支持 Python 改进,以及许多其他的东西。

那么为什么会这样呢?正如您所说,您输入的文本不是有效的 Python 代码,而是内置的 Python 语法定义将其突出显示为invalid.illegal.unexpected-text.python,而不是忽略它。这是因为\ 字符可以用作行继续字符(例如,您的字符串文字对于一行来说太长,因此您在下一行继续)。但是,在使用时,它应该是换行符之前的最后一个字符。我(或该项目的一位贡献者)完全从 Python 改进中删除了这一部分,虽然我现在不记得为什么 - 它一定是在其他地方引起了错误。

无论如何,我强烈建议您使用 PI。内置的 Python 定义在很多方面都被破坏了,很难跟踪它们—— 缺乏 Python 3 支持,关键字和内置函数名称的定义方式缺乏一致性,许多合法类和函数定义的匹配不可靠,不支持某些语言特性等等。 Python 改进版已努力修复所有这些问题,并添加了许多附加功能 - 它们都列在自述文件中。我们还致力于为所有 Python 标识符提供完整的 Unicode 支持——这是目前其他语言定义所没有的,除了一个(我们从它的开发者那里得到了建议)。新版本应该很快就会发布。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-11
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    相关资源
    最近更新 更多