Sublime Text 3:确认删除文件

rob*_*ash 9 sublimetext3

有没有办法确认从树(左侧)删除文件或从上下文菜单中删除选项?

很容易错过ie 而是rename点击delete file.然后文件消失了.

我用谷歌搜索,发现它应该被移动到垃圾文件夹,但要么不适用于Win7或使用网络驱动器.因此,文件实际上被删除或移动到目前为止我无法跟踪它们的地方.

使用Sublime Text(build 3083)

ser*_*oFC 9

选项1:修改side_bar.py文件

您可以使用sublime API显示确定/取消对话框.您要查找的代码位于名为side_bar.py的文件中.此文件位于zip文件Default.sublime-package中.在Windows中,它通常位于C:\ Program Files\Sublime Text 3\Packages\Default.sublime-package中,可以使用WinRar等程序进行探索.

在该文件中找到DeleteFileCommand并添加这3个新行,因此它从此更改:

class DeleteFileCommand(sublime_plugin.WindowCommand):
    def run(self, files):
        # Import send2trash on demand, to avoid initialising ctypes for as long as possible
        import Default.send2trash as send2trash
Run Code Online (Sandbox Code Playgroud)

对此

class DeleteFileCommand(sublime_plugin.WindowCommand):
    def run(self, files):
        isSure = sublime.ok_cancel_dialog('Are you sure you want to delete the file?')
        if isSure != True:
            return
        # Import send2trash on demand, to avoid initialising ctypes for as long as possible
        import Default.send2trash as send2trash
Run Code Online (Sandbox Code Playgroud)

我们正在显示一个ok/cancel对话框,如果用户没有按Ok,那么我们返回并且文件不会被删除.

笔记:

  • 您必须在类DeleteFolderCommand中添加相同的代码才能在删除文件夹时进行确认.
  • 如果出现问题,最好先备份Default.sublime-package文件.编辑:使用不同的文件夹进行备份,或者包装可能被加载两次导致问题,正如OP在他的评论中所说的那样.
  • 因为这是python代码缩进非常重要,不要替换任何空格的选项卡,也不要添加任何额外的空间,否则它将无法工作(你可以看到它控制台).

结果:

Sublime-确认文件删除

选项2:使用现有包

正如用户leesei他的回答中所说,你可以使用SideBarEnhancements包来实现你的目标.此软件包为文件上下文菜单添加了许多其他功能,如下图所示,但它是一个非常好的选择,因为您只需要安装一个现有的软件包.

SideBarEnhancements包

选项3:从上下文菜单中删除选项

Default.sublime-package中编辑Side Bar.sublime-menu(参见选项1)并删除该行(如果你想删除那些删除文件夹的行):

{ "caption": "Delete File", "command": "delete_file", "args": {"files": []} },
Run Code Online (Sandbox Code Playgroud)