1

我正在尝试将 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):

我怎样才能在文件中进行即时替换然后保存?

4

2 回答 2

1

我不认为 Sublime Text 插件 API 可以保存缓冲区,但您可以使用sublime.View 类file_name()中的方法并直接使用文件。

正如@MattDMo 所述,该文件可以使用view.run_command('save').

如果您的旧构建文件使用该文件名,则使用该文件名可能会更容易。

于 2013-08-07T15:14:42.953 回答
0

正如@RazerM 所述,第一个参数必须是文件路径。因此,对于我的示例,这将起作用。

for line in fileinput.input(self.view.file_name(), inplace=1):
  sys.stdout.write(self.makeReplacements(line))
于 2013-08-09T15:07:42.657 回答