python - Sublime Text 中特定于语言的包设置

标签 python sublimetext2 sublimetext sublimerepl

如何使特定于包的设置因语言而异?很容易使一般的 Sublime Text 设置因语言而异(例如,我可以使用 Python.sublime-settings 来设置特定于 Python 的缩进空格数)。但是我不知道如何更改特定包的设置(其设置似乎与一般应用程序设置处于不同的范围内)。

我特别想做的是更改 SublimeREPL 中的“show_transferred_text”参数。在 RI 中,我需要它为“假”,而在 Python 中,我需要它为“真”。有什么我可以添加到我的 Python.sublime-settings 中的“show_transferred_text”:true 行以指示这是 SublimeREPL 的参数吗?像这样设置不会更改 SublimeREPL 参数,我再次假设是因为特定于包的设置在不同的范围内。

这提供了一个开始,允许我编写一个插件来执行此操作,但我想知道它是否已经在 ST 中得到更简单的支持。是否有包范围或我可以添加到可以让我直接设置包 key 的 key 的东西?

最佳答案

好吧,我继续写了一个简短的插件来做到这一点。如果其他人需要做这样的事情,修改起来很简单。它只是 EventListener 的扩展,每次焦点更改时都会调用它。这是我第一次涉足 ST API,所以如果有人看到这个并且知道如何让它更简单/更干净,请告诉我!

import sublime, sublime_plugin

class PythonREPLHelperCommand(sublime_plugin.EventListener):
  def on_activated(self, view):
    syntax = view.settings().get('syntax')
    if syntax=='Packages/Python/Python.tmLanguage':
      plugin_settings = sublime.load_settings('SublimeREPL.sublime-settings')
      plugin_settings.set("show_transferred_text", True)
    else:
      plugin_settings = sublime.load_settings('SublimeREPL.sublime-settings')
      plugin_settings.set("show_transferred_text", False)

但我仍然很想知道是否可以在没有插件的情况下做到这一点!

关于python - Sublime Text 中特定于语言的包设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19434988/

相关文章:

sublimetext2 - Sublime Text 2 中区分大小写的 Cmd+D

regex - 正则表达式在最后一个单词之前找到空格

comments - Sublime Text - 在搜索中排除评论

sublimetext2 - 替换为 Sublime Text 2 中的列表

sublimetext3 - 在Sublime Text 3中自动导入依赖项类

python - 为什么输出只包含 2 个值而不包含整个图像的位移?

python - 如何在Python中绘制双变量数据的饼图

sublimetext3 - 单个 Sublime Text 2 用户键盘映射快捷方式中的多个 "commands"

python - 循环具有不规则索引增加的函数

python - 用另一列的条件填充一列并移动 Pandas 中的值