将以下内容添加到我的键绑定中允许我将Sublime Text 3中的字体大小重置为默认大小:
def lambda_handler(event, context):
s3 = boto3.client('s3')
email_from = 'XXXXXXXXX@XXX.com'
email_to = 'XXXXXXXXX@XXX.com'
email_subject = 'new event on s3'
email_body = "File Name :" + event[u'Records'][0][u's3'][u'object'][u'key'] + "\n" + "File Size :" + str(event[u'Records'][0][u's3'][u'object'][u'size']) + "\n" + "Upload Time :" + event[u'Records'][0][u'eventTime'] + "\n" + "User Details :" + event[u'Records'][0][u'userIdentity'][u'principalId']
ses = boto3.client('ses')
ses.send_email(Source = email_from,
Destination = {'ToAddresses': [email_to,],},
Message = {'Subject': {'Data': email_subject}, 'Body':{'Text' : {'Data': email_body}}}
)
print("Function execution Completed !!!")
但这也会重置我在用户首选项中设置的任何字体大小。例如,默认字体大小为10.当我将以下内容添加到用户首选项时...
{ "keys": ["ctrl+0"], "command": "reset_font_size" }
...然后使用"font_size": 8
重置字体大小,此设置消失,字体大小恢复为默认值10.如何防止此行为?
答案 0 :(得分:4)
命令increase_font_size
,decrease_font_size
和reset_font_size
在Default
插件的font.py
包中定义,并通过直接修改值来实现font_size
中的Preferences.sublime-settings
设置。
特别是,increase_font_size
和decrease_font_size
都会修改设置的当前值,而您已经注意到reset_font_size
命令将其完全删除,以便将内容恢复为默认值
乍一看,您可以尝试使用set_setting
命令而不是reset_font_size
,这样您就可以将font_size
重置为想要成为默认值的值。
但是,这不会像您预期的那样有效,因为set_setting
仅修改当前焦点文件view
的设置,而Preferences.sublime-settings
文件指定全局设置。因此,您会注意到,上下更改字体大小会在任何地方生效,但重置它只会在当前视图中起作用。
要解决此问题,您需要通过更改Preferences.sublime-settings
设置的font_size
版本来处理重置为所选的默认字体大小。
一个例子是以下插件,您可以通过从菜单中选择Tools > Developer > New Plugin...
,然后用下面的代码替换存根代码并将其保存为Sublime所在位置的python文件来使用。默认为(例如set_default_font_size.py
,但只有扩展名很重要):
import sublime
import sublime_plugin
class SetDefaultFontSizeCommand(sublime_plugin.ApplicationCommand):
def run(self):
s = sublime.load_settings("Preferences.sublime-settings")
new_size = s.get("default_font_size", 10)
s.set("font_size", new_size)
sublime.save_settings("Preferences.sublime-settings")
完成后,您需要编辑默认首选项并添加default_font_size
设置,指定要作为默认字体大小的字体设置,然后修改上面的键绑定以调用{{1}而不是set_default_font_size
。
此插件只是提取您指定的默认字体大小并使用它更新首选项,这将使其恢复到您希望的值,从而使字体大小一次性变化。
[编辑]
另一个可能的解决方案是以下插件,它通常提供上面引用的reset_font_size
命令的一个版本,它将设置设置为全局首选项,而不是仅仅更改当前视图中的设置:
set_setting
要使用此功能,您需要一个如下所示的键绑定(根据需要更改字体大小):
import sublime
import sublime_plugin
class GlobalSetSettingCommand(sublime_plugin.ApplicationCommand):
def run(self, setting, value):
s = sublime.load_settings("Preferences.sublime-settings")
s.set(setting, value)
sublime.save_settings("Preferences.sublime-settings")
这样做的好处是它不需要您添加额外的设置来提供默认的字体大小。此外,您还可以在其他情况下使用此命令,例如一组上下文菜单项或键绑定,例如,您可以在多个预设大小之间进行选择。