Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macros 如何使用“另存为”和“关闭文件”命令在升华文本3中创建宏?_Macros_Command_Sublimetext_Sublimetext3 - Fatal编程技术网

Macros 如何使用“另存为”和“关闭文件”命令在升华文本3中创建宏?

Macros 如何使用“另存为”和“关闭文件”命令在升华文本3中创建宏?,macros,command,sublimetext,sublimetext3,Macros,Command,Sublimetext,Sublimetext3,我需要将许多html文件的编码更改为UTF8(从Windows1252)。我在Windows8上使用升华文本3。所以我认为创建宏将非常有效,我只需要在宏中使用两个命令“savewithencoding-UTF8”和“closefile”。但当我试图录制宏时,这些命令不会被录制。因此,我需要使用宏命令手动创建json文件,但我不知道如何创建。我不确定是否可以使用宏来完成这项工作可能这些命令超出了宏的范围(例如,不是视图命令?),但我设法使其作为插件工作 将以下内容另存为$PATH\u TO\u S

我需要将许多html文件的编码更改为UTF8(从Windows1252)。我在Windows8上使用升华文本3。所以我认为创建宏将非常有效,我只需要在宏中使用两个命令“savewithencoding-UTF8”和“closefile”。但当我试图录制宏时,这些命令不会被录制。因此,我需要使用宏命令手动创建json文件,但我不知道如何创建。

我不确定是否可以使用宏来完成这项工作可能这些命令超出了宏的范围(例如,不是视图命令?),但我设法使其作为插件工作

将以下内容另存为
$PATH\u TO\u SUBLIME\u DATA/Packages/SaveAs-UTF8.py

import sublime, sublime_plugin

class SaveAsUtf8Command(sublime_plugin.WindowCommand):
    def run(self):
        self.window.run_command("save", {"encoding": "utf-8" })
        self.window.run_command("close")
要使用“命令选项Shift 8”触发命令,请将以下内容添加到
Sublime Text>Preferences>Keybindings-User
文件中:

[
    { "keys": ["super+option+shift+8"], "command": "save_as_utf8"}
]

如果您愿意,我将此保存为要点:

也许这有帮助:谢谢,我将尝试它(在OSX ST3 build 3059上测试)您知道为什么以这种方式创建的命令不能在宏中使用(并且在“录制宏”时未注册)吗?我也这么做了,只是我的类名为
saveinmacromand
,只有
self.window。运行命令(“save”)
,当绑定到键时,它的工作原理与常规保存相同,但在宏中用作
“命令”:“在宏中保存”
我得到
未知宏命令在宏中保存”
错误,即使在执行快捷键时,文件仍按预期保存,并且面板/控制台显示“命令:在\u宏中保存\u”已执行。对上述注释的解释:我需要在宏中使用
在\u宏中保存\u
,它还可以执行一些其他操作,包括执行其他命令,插入代码段并执行系统命令(因此,即使可能,在新命令/包代码中包含所有这些内容也没有意义)。