Sublimetext3 编写升华文本3插件,将文本前置到选定的文本块

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

我正在开发一个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
我的命令给出此输出,但仅当我使用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
之间的每一行的位置