我正在尝试将Sublime Text构建系统移植到插件中。
构建系统将接收当前文件并使用以下代码进行处理:
for line in fileinput.input(inplace=1):
sys.stdout.write(makeReplacements(line))
现在,在插件语法中,我认为获取当前文件内容的方式是:
input = self.view.substr(
sublime.Region(0, self.view.size())
)
但是现在我不确定我应该怎么做下一次操作。
for line in input(inplace=1):
如何在文件中即时替换,然后保存?
答案 0 :(得分:1)
我不认为Sublime Text插件API可以保存缓冲区,但您可以使用sublime.View class中的 file_name()
方法并直接使用该文件。
如@MattDMo所述,可以使用view.run_command('save')
保存文件。
如果您的旧版本文件使用该文件名,则可能更容易使用文件名。
答案 1 :(得分:0)
如@RazerM所述,第一个参数必须是文件路径。所以对于我的例子,这将有效。
for line in fileinput.input(self.view.file_name(), inplace=1):
sys.stdout.write(self.makeReplacements(line))