我只是对我的SVN存储库做了一些愚蠢的事情,我不小心将一大堆东西导入到根目录而不是子文件夹中.我需要很长时间才能清理....除非有一个简单的方法对回购进行全局还原?帮助文件讨论了还原工作副本,但新导入的项目没有工作副本.有没有办法撤消导入?
我有一个带有 JPanel 和按钮的应用程序,用户可以点击这些按钮在面板上绘制形状。您可以对形状进行着色和调整大小,也可以在面板中移动它们。我将如何为这样的应用程序实现撤消和重做?我有一个 Actions 类,其中实际实现了所有操作。在这个类中,每个动作都是它自己的扩展 AbstractAction 的类。我的 Actions 类基本上是一个嵌套类。
例如,这是我的 Actions 类中的类之一:
private class RandomAction extends AbstractAction {
private static final long serialVersionUID = 1L;
public NewAction(String text, ImageIcon icon, String desc){
super(text, icon);
putValue(SHORT_DESCRIPTION, desc);
}
public void actionPerformed(ActionEvent e) {
}
}
Run Code Online (Sandbox Code Playgroud)
当我然后创建一个按钮时,我所做的就是:
randButton = new JButton(Actions.RandomAction);
Run Code Online (Sandbox Code Playgroud) 所以我正在使用 CodeMirror,我想要一种方法来省略undo状态中的某些编辑。特别是,我有一种情况,我想要一个按键
天真地这样做意味着使用击键,然后敲击undo会留下包含没有缩进的新文本的镜像。我想要一个单一的undo来恢复初始文本,而不是去替换文本的无缩进版本。
唯一支持 API 的方法似乎是.getHistory在缩进之前调用,然后.setHistory立即调用,但文档暗示这是一个坏主意。具体来说,如果镜像的内容在.getHistory和.setHistory调用之间发生变化,则此效果是不确定的,这就是这种情况的重点。
文本标记 API 中也有一个addToHistory标志,但它只能用于标记而不是像缩进这样的任意编辑。
有什么好方法可以做我在这里寻找的东西吗?
本质上我想回滚本地存储库中的两个提交。尚未将任何内容推送到远程。
因此,在我的 GIT 存储库中,我不小心在提交 (A) 中添加了一个巨大的 zip 文件。我意识到了这一点,使用 finder 删除了 zip 文件并进行了另一次提交 (B)。
但现在我意识到,如果我将其推送到远程,它将包括整个 zip 文件......
为了让事情变得更复杂,我还在第一次提交 (A) 中对几个文件进行了一系列重要的更改,我不想丢失这些更改。
在推送到远程之前,如何从历史记录中删除该 zip 文件?我是否可以恢复到这两次提交之前的文件状态,而不会丢失在其他几个文件中所做的所有更改?
有没有办法在Visual Studio中获得"在选择范围内撤消"功能?如果没有,是否有任何编辑器具有此功能?
它似乎非常有用,无需多次撤消x,复制,重做x次多次并粘贴.相反,人们可以突出显示感兴趣的区域并在该位置撤消...
撤消写入文件的最佳方法是什么?如果我要经历一个循环并且一次写一行,并且我想撤消之前的写入并用其他东西替换它,我该如何去做呢?有任何想法吗?
提前致谢!
我的任务是为应用程序添加撤消/重做/重复功能.我正在调查是否可以使用Swing的UndoManager.
除了通常的撤消和重做按钮之外,我还需要提供一次撤消或重做多个编辑的功能(像MS Office一样下拉UI),并重复选择的编辑.
我相信我可以使用UndoManager进行多次撤消和重做.它提供了多次撤消和重做的方法.为了构建UI,我可以扩展UndoManager以显示它所拥有的编辑.
我不确定我是否可以使用UndoManager重复选择操作.我的第一个想法是扩展UndoManager并添加重复(编辑)方法.此方法将克隆或复制编辑,重做副本,然后将副本放在撤消堆栈的顶部.如果编辑实现Clonable,则编辑只能重复.
这看起来合情合理吗?有更好的解决方案吗?我应该自己滚动而不是UndoManager吗?提前致谢.
我已经用谷歌搜索了他的时间,但我找不到任何关于此的信息.它说无处不在窃取/无力是数据库系统最常用的方法,但没有证据我无法确定.
是否有任何方法可以为textarea导出/保存任何浏览器的本机撤消/重做堆栈?我希望能够在事后撤消/重做所有在textarea中输入的内容.
我还想使用javascript调用本机undo/redo堆栈,这可以通过以下方式轻松完成:
$('#textarea_im_using').focus();
document.execCommand('undo', false, null);
Run Code Online (Sandbox Code Playgroud)
但是,这导致控制台中出现NS_ERROR_FAILURE:Failure错误消息.有什么想法吗?
总之,我有两个问题:
我目前正在使用Mozilla Firefox(最新版本).我很乐意尝试任何可用的浏览器(Safari除外).
我有一个名为TextFile的自定义数据类型,该数据类型存储四个字符串,每次编辑文本文件时,我都需要能够将其版本存储在堆栈中。这样我就可以实现某种形式的撤消和重做功能。
但是,堆栈将从其他函数中更新,并且每次都不会创建新的堆栈,当我向其中推送内容时,我看不到保存更改的方法吗?
有没有一种方法可以创建堆栈并在每次从堆栈中弹出或弹出某些内容时更新相同的堆栈?
newtype Stack a = Stack [a] deriving (Eq, Show)
buffer = Stack [] :: Stack TextFile
data TextFile = TextFile String String String String deriving Show
file = TextFile "This is the left element" " This is the right element" "" ""
pop :: Stack a -> (Maybe a, Stack a)
pop (Stack (x:xs)) = (Just x, Stack xs)
pop (Stack []) = (Nothing, Stack [])
push :: a -> Stack a -> Stack a
push x …Run Code Online (Sandbox Code Playgroud)