我想在ACE编辑器中重置撤消堆栈.行为应该是:
我想这与UndoManagerACE有关,但我不知道如何在以下示例中使用它.
var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.getSession().setMode("ace/mode/markdown");
setTimeout(function() {
editor.setValue("And now how can I reset the\nundo stack,so pressing\nCTRL+Z (or Command + Z) will *NOT*\ngo back to previous value?", -1);
}, 3000);Run Code Online (Sandbox Code Playgroud)
#editor {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
font-size: 25px;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.1.9/ace.js"></script>
<div id="editor">This value will be changed in 3 seconds.</div>Run Code Online (Sandbox Code Playgroud)
我已经调查editor和editor.session原型找一些辅助功能,但没有成功.
我正在通过设置contentEditablebody标签的属性来使用SWT进行WYSYWYG HTML5编辑器true.
当我执行一些命令时document.execCommand('bold'),它完美地运行.但是,当我尝试撤消操作时document.execCommand('undo')没有任何反应.我不知道是否必须设置任何撤销管理器或做类似的事情.你能帮我吗 ?
我认为重要的是有一个" 撤销 "的方法ALA 的Gmail销毁记录的时候,而不是显示恼人的弹出,上面写着:" 你确定吗? ".
我实现这个的方法是在模型中有一个"deleted_at"时间戳列,当调用destroy方法时,它会被加上时间戳
def destroy
@foo = Foo.find(params[:id])
@foo.update_attribute(:deleted_at, Time.now)
...
end
Run Code Online (Sandbox Code Playgroud)
要恢复/撤消,我只需将同一列设置为nil
def revert
@foo = Foo.find(params[:id])
@foo.update_attribute(:deleted_at, nil)
...
end
Run Code Online (Sandbox Code Playgroud)
当我调用find方法时,我只需添加一个条件来过滤掉"已删除"的foos.也许设置一个cron或后台任务来在一段时间后真正破坏"已删除"的foos.
适合我,易于实现,但我很好奇是否有更好的方法来实现此功能?也许有一个插件或宝石提供我不知道的?
我不小心通过使用'svn copy'复制trunk来覆盖旧分支.更具体地说,对于每个版本,主干都是分支的并保留为标签,使用:
svn copy svn://machine/REPOS/trunk svn://machine/REPOS/tags/$RELEASENR
Run Code Online (Sandbox Code Playgroud)
但这次'RELEASENR'的价值是旧的现有分支而不是新分支的价值.有人对如何撤消这个错误有任何想法吗?谢谢!
我发现Vim的撤消有点过于粗糙.例如,如果我键入这样的东西:
a // to go into edit mode
to be or not to ve
<esc> // to exit insert mode
Run Code Online (Sandbox Code Playgroud)
哎呀!我弄错了.我想开始撤消所以我按u,但然后它清除整行.有没有办法逐字逐句或逐字逐句撤消?
我正在研究如何编写支持撤消的绘制程序,并且很可能看到命令模式是我想要的.但是,有些东西仍然逃避了我,我希望有人可以提供一个简单的答案或确认.
基本上,如果我要体现撤消命令的能力,例如在屏幕上标记一个实心圆,这是否意味着我需要将圆覆盖的帧缓冲区本质复制到这个命令对象中?我没有看到任何其他方法可以撤消可能的内容,例如,标记一堆随机像素颜色.
我听说过一种方法只是跟踪前进动作,当执行撤消时,你只需从步骤1开始并向前绘制到撤消之前的步骤,但如果你要支持一个大的话,这似乎是不可行的撤消堆栈.
也许解决方案介于每个15-20个操作的位图之间,并从最后一个"保存"转发开始.
在这种情况下,有人可以提供有关典型接受方法的任何见解,可以在命令中保存缓冲区矩形,重做每个操作前进,还是我完全错过的东西?
更新:很多好的回应.感谢大家.我正在考虑我正在阅读的内容,我将通过每N次操作保存缓冲区以及当用户发出撤消命令重做来自最近保存的缓冲区的所有命令来解决此问题.我可以将N调整到尽可能高的值,这并不会显着降低需要响应式撤消的用户体验(为了最大限度地减少内存使用),但我怀疑此时并不确定,我应该是能够逃脱在一个框架中执行相当多的动作,这样做不是太糟糕.希望这种方法可以让我快速确定是否转向另一个方向,而不是为需要它的操作保存先前状态的位图rects.
我正在创建一个地图编辑webapp,我们可以创建和编辑折线,多边形等.我在网上找到关于撤消实现的信息时遇到了麻烦,我发现抱怨"我们需要撤消"和"这是我的命令模式使用关闭"但我认为在那个和完整的撤销/重做界面之间有相当一些道路.
所以,这是我的问题(我认为维基的好候选人):
谢谢大家.
我需要在我的网络应用程序中使用一项功能来撤消最后一点.已经有一些解决方案,如这对于给定的问题,它可以处理它在一定程度上:
var undo = false; // set this to true in the Esc key handler
var draw = new ol.interaction.Draw({
// ...
geometryFunction: function(coords, geom) {
if (!geom) {
geom = new ol.geom.LineString(null);
}
if (undo) {
if (coords.length > 1) {
coords.pop();
}
undo = false;
}
geom.setCoordinates(coords);
return geom;
}
});
Run Code Online (Sandbox Code Playgroud)
但似乎有一个我无法弄清楚的错误.
使用这个plunker你可以尝试我要解释的内容:
如果你绘制一条带有一些顶点的线然后撤消(点击ESC)直到线上的最后一个点被移除,然后在刚刚撤消的同一点完成(或接近足够),最后一段将被删除,为什么?
由数字解释:
1-绘制线要素
我试了好几次就发生了.如果添加一个不接近移除的点或添加多个点,则不会发生这种情况.
编辑
似乎OL3检查几何的最后两个坐标,如果它们相同则决定完成绘图会话,并删除最后一个.我尝试了下面的代码:
function geometryChange(coordinates, geometry){
if (!geometry) {
geometry = new ol.geom.LineString(null); …Run Code Online (Sandbox Code Playgroud) 我有一个Django应用程序,我允许用户导入带有联系人数据的CSV文件(成员资格#,名字,姓氏等).
当他们导入文件时,应用程序会检查数据库是否有匹配的记录,并且:1)如果不存在匹配则插入新记录,或者2)使用新数据更新现有数据.
我的问题是:使用Django或直接Python实现撤销功能的最佳方法是什么,以便用户可以撤消导入操作并将多个记录恢复到原始状态?
我最初的想法是创建一个这样的表(伪代码):
Table HISTORY
unique_id
record_affected_id
old_value
new_value
Run Code Online (Sandbox Code Playgroud)
然后,如果用户单击"撤消",我可以查找与其事务关联的unique_id,并将受该事务影响的每条记录设置为old_value.
我想知道是否有一种更简单的方法可以做到这一点,我错过了,或者如果有人有这样的经历.
我使用emacs,我有一个问题,它的撤消.
(对不起,也许这是一个愚蠢的问题,但我没有在互联网上找到任何关于它的信息,而它应该是任何编辑器的基本功能).
要调用每个撤消步骤,我需要按"Ctrl-x"然后按"u".但是如果我已经完成了200步并希望撤消它们,我的手和手指会因重复'Ctrl-x'然后'u'200次而感到非常痛苦,更不用说这个操作需要大约5分钟.
例如,在Microsoft Word中(以及许多其他编辑器中)撤消是Ctlr-Z,但您可以按住Ctlr-Z并快速运行多个撤消步骤.这在emacs中是否可以实现?
undo ×10
javascript ×4
editor ×2
ace-editor ×1
activerecord ×1
command ×1
copy ×1
django ×1
emacs ×1
gmail ×1
html ×1
openlayers-3 ×1
paint ×1
python ×1
revert ×1
svn ×1
swt ×1
undo-redo ×1
vim ×1