Sublimetext3 编写升华文本3插件,将文本前置到选定的文本块
我正在开发一个Sublime Text 3插件来处理todo文件,这是一个平面文本文件。我在编写插件命令时遇到了问题,该命令无法在选定的区域上正常工作。我希望能够将日期(或Sublimetext3 编写升华文本3插件,将文本前置到选定的文本块,sublimetext3,sublime-text-plugin,Sublimetext3,Sublime Text Plugin,我正在开发一个Sublime Text 3插件来处理todo文件,这是一个平面文本文件。我在编写插件命令时遇到了问题,该命令无法在选定的区域上正常工作。我希望能够将日期(或x)预先添加到选定的行中(每行都是一项任务)。以下是命令前面的行 Task one Task two 这是所需的输出 2015-05-26 Task one 2015-05-26 Task two 2015-05-262015-05-26 Task one Task two 我的命令给出此输出,但仅当我使用multic
x
)预先添加到选定的行中(每行都是一项任务)。以下是命令前面的行
Task one
Task two
这是所需的输出
2015-05-26 Task one
2015-05-26 Task two
2015-05-262015-05-26 Task one
Task two
我的命令给出此输出,但仅当我使用multicursor时。如果我选择该区域(即,通过单击并拖动或CTRL-l
高亮显示),则会得到混乱的输出
2015-05-26 Task one
2015-05-26 Task two
2015-05-262015-05-26 Task one
Task two
有没有一种方法可以对多选和高亮显示都很可靠的选择进行操作
这是我的插件的一部分
import sublime, sublime_plugin, time, re
class DateTaskCommand(sublime_plugin.TextCommand):
def run(self, edit):
for selectedRegion in self.view.sel():
selectedLines = self.view.lines(selectedRegion)
adjustBy = 0
for line in selectedLines:
insertPoint = line.begin() + adjustBy
prefix = [time.strftime('%Y-%m-%d'), '']
self.view.insert(edit, insertPoint, ' '.join(prefix))
adjustBy += 1
问题似乎出在
adjustBy
。尝试设置:
adjustBy += len(prefix[0]) + 1
问题是循环没有重置两个
插入之间的每一行的位置。似乎问题出在调整方式上。尝试设置:
adjustBy += len(prefix[0]) + 1
问题是循环没有重置两个插入之间的每一行的位置。似乎问题出在调整方式上。尝试设置:
adjustBy += len(prefix[0]) + 1
问题是循环没有重置两个插入之间的每一行的位置。似乎问题出在调整方式上。尝试设置:
adjustBy += len(prefix[0]) + 1
问题在于循环不会重置两个insert
之间的每一行的位置