Vscode: 宏录制

创建于 2016-03-21  ·  192评论  ·  资料来源: microsoft/vscode

能够记录一个输入序列,然后像在Notepad ++或Vim中一样重现它,将是很好的。

editor feature-request

最有用的评论

放一个宏录制器扩展,在我的开发环境中测试我的vscode更改,它可以工作! 只需找出我的更改何时可能使其成为vscode版本。

macro

所有192条评论

此功能加上Dired模式和vscode可以与emacs竞争。

升华+1

重构时具有重大帮助,以便为重复编辑提供可记录的宏。

我很乐意看到这一点,但是比EditPlus更进一步,可以记录多个不同的宏并将其分配给不同的热键。 半永久性地分配常见的重复性任务非常好。

+1太好了

JEdi​​t具有出色的宏实现。 它不仅捕获键盘命令,而且还捕获菜单中的操作。 将创建一个脚本,然后您也可以保存或修改它。

+1

VSCode缺少宏是我仍然拥有Sublime的唯一原因。 我通过录制然后几乎每天都播放宏来进行重复编辑。

顺便说一句,希望能够录制一个宏,然后将其分配给键绑定。 Visual Studio可以在90年代做到这一点,真是太好了!

我写了一个扩展程序,使编写自定义宏变得容易。 还没有录音,但是仍然很方便。

https://marketplace.visualstudio.com/items?itemName=geddski.macros

无法在vscode中记录宏:失望:

+1希望看到录制/播放/键盘分配宏的功能。 例如,Sublime Text是一种非常有用的文本分类工具,其原因之一是因为您可以播放重复性的任务(对我来说,它通常为SQL语句准备了很长的值列表)。 VSCode非常接近。

我不相信VS Code没有宏录制!!! 在Notepad ++和Sublime中,这种功能存在并且非常有用。 由于这个原因,我现在需要重新安装Sublime :(

哦,是的! 希望能够录制宏并重播它们直到EOF。

是。

+1

是的,很想拥有它。 我正在手动将“角度1”转换为“角度2”,并且需要做很多重复的“查找并替换”操作。

添加对此功能的支持。 这是我仍然要打开Notepadd ++的唯一内容。

+1

仅添加我对录制宏的支持; 播放此功能将消除我保留Notepad ++的需要。

@geddski当你说你的分机没有记录_ _,这是否意味着它会得到一个(近?)将来的录象?

@JulienFerraro我不打算添加录音,但是很乐意与它合并PR!

解决方法:添加一个任务,以在其他编辑器(例如Notepad ++或Vim)中打开当前VSCode缓冲区,然后在此处进行更改。 既不优雅也不理想,耸耸肩,但这是一种解决方法。

+1

这将使VSC成为我日常使用的默认编辑器。

完整的宏录制的替代方法可能是向API添加某种事件侦听器。 这可能为扩展开发人员构建宏录制扩展打开了方便之门。 最终,API可以侦听击键和执行的命令,并将其传递给事件侦听器,然后扩展程序可以记录并保存它们,然后在以后播放它们。 这有点像是宏录制难题。

  • Ctrl+Shift+R :开始录制
  • Ctrl+Shift+R :停止录制
  • Ctrl+Shift+P :播放

实际上,令我有些震惊的是,可记录的宏不在VSCode的MVP候选清单中。 30年来,我从未使用过没有该功能的编辑器,而且我经常使用它。 甚至Visual Studio都具有该功能

我曾经还添加了一项功能,可让您插入表达式的结果。 表达式的输入之一是重复命令的迭代次数。 因此,您可以有效地记录类似

 insert-expression "(count*10+1000)"
 press enter

然后重复一遍(想想emacs Ctrl + R),所以按Ctrl + R 10 Ctrl-最终将使

 1000
 1010
 1020
 1030
 1040
 1050
 ...

这对我来说是一个关键功能。 我对自己享受VS Code感到多么惊讶,并让朋友和同事知道这一点,但这使我回到了Sublime Text。 如果它像Vim一样,我会非常喜欢它,因为您可以在不同的键下记录多个宏。

必须承认我很震惊,可录制的宏本身并不是VS Code的一部分。

我似乎需要将我的工作文本剪切并粘贴到Vim中,以使我可以构建和运行宏,这似乎是愚蠢的:)

+1宏,非常方便

+1

我想知道,因为人们似乎喜欢这个(缺失)功能。 VSC中不可用的原因是什么? 难以实施吗? 还有其他原因吗?

这是一个非常好的问题。 不幸的是,我的Java技能充其量只是个新生,所以我无济于事,但IMO具有可记录的宏,这对任何程序员的编辑器都是严格的功能,而令我震惊的是,像VSCode这样令人难以置信的编辑器却缺少此功能。

我们能否提高对这个错误的认识,让一大堆人+1? 我将发送一条推文并与@code一起提及该问题-我们可以使用其他论坛来推广此问题吗?

好吧,请这样做; 我会转发:)。

您在这里,请转发: https :

+1
怎么还没有完成...

+1
期待这个功能。

+1
我刚搬到Mac上,打算将VS Code设为默认编辑器,但随后...

+1
我喜欢节省时间

+1

+1请补充,我是在浪费时间一遍又一遍地做同样的事情

我已经从上面使用了提到的宏扩展,并且效果很好。 所需要的只是一个记录器。

我确实注意到了一个小问题。 我想用emacs讲,isearch-forward来找一个字符,但我没有在宏中做。 为了使宏真正有用,所有内容都必须可编写脚本。 搜索工具的问题在于它会打开对话框,并且宏似乎无法控制搜索本身。 也许我错过了增量搜索。

您如何看待此功能的最佳效果? 内置还是作为插件?

我并不在乎,只要我可以记录/播放击键:)

+1

+1坦白地说,为什么它没有录音机

+1长期以来,它一直是其他主要代码编辑器的一部分,VSCode需要

+1

++ i
必须是一个潜在的问题,是吗?

这确实是一个问题---出于重构原因,我几乎每天都需要此功能
从vs代码切换到notepad ++重构代码然后再返回是一种怪罪
与代码

我真的建议将功能放到高级开发人员列表中

谢谢
胡安

+1
从emacs迁移非常重要

+1

+1

+1

因此,在此问题上,我们现在拥有+1的庞大语料库。 我们如何将其用于下一步? 有谁认识任何VSCode核心开发人员? 我的意思是,我可以扫描git commits并将邮件发送给其他人,但是我也不想惹恼这些人,毕竟我们都是免费获得这个惊人的工具的:)

我不确定100%是否有人提到过它,但是VSCode Vim插件内置了宏
https://github.com/VSCodeVim/Vim

对。 有人提到过。 我尝试使用该插件,但它与其他扩展(例如Python扩展)的交互性很差。

+1(看起来我将为此功能安装EditPlus)

+10,000

我之前对此已经发表过评论,但是当我使用宏时,我意识到我使用了很多东西:重复宏直到文件结尾。

如果我要处理某种数据文件,需要对100+行进行一致的修改(例如,用数据条目之间的空格替换制表符),我会用很多。

必须具备的功能! 添加它,它将成为我的Sublime Text杀手。

  • Ctrl+Shift+R:开始录音
  • Ctrl+Shift+R:停止录制
  • Ctrl+Shift+P:播放

+1。 我为为什么这不是VS Code的一部分而感到困惑。 这是继续使用Sublime Text的重要原因。

即使是一个简单的实现,例如Notepad ++中的实现,也将很棒。

Pleaseeeee,不是一个简单的实现,至少我们必须被允许记录搜索并替换

@jpsala

实际上,Notepad ++宏录制确实支持搜索和替换。 :-)

@mrkafk
哦,好吧,我不知道,只是我只是担心此功能的实现不佳而已

我很期待收到GitHub通知并单击它的那天,除了最近的评论是该功能已实现,而不是人们乞求该功能的其他评论,这又是这个问题:)

Ctrl+Shift+R:
我们想要什么?
宏!
我们什么时候想要他们?
现在!
Ctrl+Shift+R:
Ctrl+Shift+P:
我们想要什么?
宏!
我们什么时候想要他们?
现在!

+1(在开发过程中通常会非常有帮助。您不能对正则表达式做所有事情。)

而两年后,我们在这里

拥有出色的编辑器! 不要忘记那个!

Op di 13捷运。 2018年om 20:26 schreef jfftonsic通知@ github.com

而两年后,我们在这里

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/Microsoft/vscode/issues/4490#issuecomment-372788641
或使线程静音
https://github.com/notifications/unsubscribe-auth/ADueO_z3HyNMlqV1CRNaglV3qo8CviVuks5teB1RgaJpZM4H0-Mj

因此,已经有一段时间了,并且没有取得任何进展。 人们提到通过扩展实现此功能。 显然,Vim Extension已实现了录制。

我不知道我在做什么扩展。 有人可以使用Vim扩展并将宏录制部分提取到新扩展中吗?

我认为这可能是实现此目标的最简单方法,因为(如果我错了,请纠正我)Microsoft甚至没有对此问题发表评论,并且直到不久以后才想对此做任何事情(问题是Backlog里程碑,以及1,700个其他功能请求)。

@ u2berggeist使用Vim方法只能获得部分支持。
VSCode将允许您听击键,但是您不能听命令。 因此,您实际可以录制的内容将会有差距,这并不是很好的体验。

我实际上正在研究我希望成为下一个最好的东西,那就是可编写脚本的宏。 当我有足够的东西时将发布预览。

@dakaraphi感谢您的澄清。 当您指定命令vs击键时,您是指内部快捷方式吗? 就像在Ctrl + c方法中不起作用,但是使用Backspace和Return键可以正常工作吗?

对于我的个人用例,宏使用的99%实际上只是一系列的Return,Backspaces,Delete和插入随机标点符号。 IDK关于其他所有人。

@ u2berggeist

返回,退格,删除和插入随机标点

这可能是可能的,但是另一个普遍的需求是基于搜索来定位光标。 因此,例如,您无法使用“查找”命令来捕获用户。

@dakaraphi ,我认为您是对的,在宏中使用命令对我很重要,您提到的情况是我的一个使用案例

我刚刚发布了有关宏工作的早期预览。 如果您感兴趣,请在链接的问题中发表评论。
https://github.com/dakaraphi/vscode-extension-transformer/issues/13

我现在已经将有关宏的早期工作发布到了市场。
它是此扩展的一部分-https: //marketplace.visualstudio.com/items?itemName=dakara.transformer

请关注此问题以获取任何反馈-https: //github.com/dakaraphi/vscode-extension-transformer/issues/13

我有一个Visual Studio的VSIX扩展,它是从多年前编写的宏派生的。

没有这种功能,我无法生存。

它使用DTE / EnvDTE接口。 我的大部分代码都在从Visual Basic(在VS的早期版本中用于编写宏的语言)编译的库中。

如果可以将其全部移植到VS Code,那就太好了。

在不久的将来是否有可能发生的现实可能性?

请做到这一点!

到目前为止,我们所有人一直在对该错误进行评论,并在其上发布推文,
关于它等等

开发人员似乎对实现此功能不感兴趣。

或者至少,如果他们是,他们还没有传达这一点。

-克里斯

2018年4月26日,星期四,12:39 PM,RayBowman2017b [email protected]
写道:

我有一个Visual Studio的VSIX扩展,它是从
我多年前编写的宏。

没有这种功能,我无法生存。

它使用DTE / EnvDTE接口。 我的大部分代码在编译的库中
来自Visual Basic(以前用于编写宏的语言
VS版本)。

如果可以将其全部移植到VS Code,那就太好了。

在不久的将来会发生这种现实的可能性吗?

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/Microsoft/vscode/issues/4490#issuecomment-384708458
或使线程静音
https://github.com/notifications/unsubscribe-auth/AAUJVkVhD5M7xPT6tk88_AzQ9Rptjg0cks5tsfhQgaJpZM4H0-Mj

-
克里斯托弗·帕蒂(Christopher Patti)-《极客》 GTalk: [email protected] | 电话:(260)
54个
“不作为会滋生怀疑和恐惧。行动会带来信心和勇气。如果
您想征服恐惧,不要坐在家里想一想。 出去
忙起来。” ―戴尔·卡耐基

+1

@Feelav和其他任何人:友善的提醒,要竖起对此问题的第一条评论。 我相信这就是他们跟踪问题重要性的方式,包括他们处理“功能请求”的顺序(即使我几乎认为没有实现此简单功能也是一个错误)。

编辑:基于此,我们实际上在列表上很高。 但是我们仍然肯定被标记为积压,所以我不知道这对我们的事业有什么影响。

有人应该提交PR-稍后再请求原谅!

拜托

就我而言,我不太了解Javascript / Typescript。 ID
喜欢学习,但这需要时间,我目前还没有:)

2018年5月14日星期一,下午12:56,Andy Fang [email protected]
写道:

有人应该提交PR-稍后再请求原谅!

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/Microsoft/vscode/issues/4490#issuecomment-388887581
或使线程静音
https://github.com/notifications/unsubscribe-auth/AAUJVr7fyRag_GKrbrzu2dnkhdlxXA2sks5tybcggaJpZM4H0-Mj

-
克里斯托弗·帕蒂(Christopher Patti)-《极客》 GTalk: [email protected] | 电话:(260)
54个
“不作为会滋生怀疑和恐惧。行动会带来信心和勇气。如果
您想征服恐惧,不要坐在家里想一想。 出去
忙起来。” ―戴尔·卡耐基

+1

放弃并切换到Neovim-它具有我想要的所有功能,并且使我能够使用Lua或Python为其编写脚本,而我都知道:)

Visual Studio具有与Notepad ++相同的Ctrl + R / Ctrl + R / Ctrl + P键盘宏记录/播放,直到2012年或2013年为止,然后默默地将其删除。

+1个可录制的宏仍然缺失-如果没有它就无法替换我的默认编辑器(例如PSPad)

+1我已经关注这个问题两年了。

来自emacs,我喜欢VS代码!! 但是我同意宏录制/播放会很棒...我很惊讶地发现它还不存在:(

我使用vscode vim扩展名,它允许使用宏,但目前无法保存寄存器。 但是我很喜欢这种本机功能

我决定回到emacs-即使对于Web开发,它仍然是一个更好的编辑器。

+1非常简单但功能强大

这对于提高生产力非常重要

+1这将是非常有用的,实施它应该是毫无道理的!

+1我认为这是一个不错的编辑器,它完全使他们无法添加其他功能,因此对于许多人来说,这是一个非常糟糕的选择。 非常失望。

      +1 I thought this was a good editor, this completely discredits any of the other features they've added and makes this a very poor choice for many people. Highly disappointed.

我不知道我会走那么远。 对我来说,这是一个非常棒的编辑器,但是在重播动作方面,此功能将使其与较小的编辑器处于同等地位。

也很希望看到此功能,尽管缺少它绝不会“完全使”所有其他功能“受骗”。 严厉的人。 您是否尝试过自定义片段? 这是一个非常酷的功能。

试图从今晚从vim切换。 到目前为止,这是我发现的唯一真正令人失望的限制。

@burke尝试使用多行编辑。 它非常强大,并且在大多数情况下,至少对于我来说,它超过了对宏的需求。

是的,它确实解决了我大约3/4的宏用例。 :+1:

是的,但是不幸的是,它不适用于大文件。 例如:不能对5000多个行进行多行编辑。

+1-我很想在VS Code中看到这一点。

  • 1个ID真的现在就使用这个。

emeditor的宏非常易于使用。
使用js或vbs编写宏或像这样录制:
`vb脚本
如果document.selection.Text =“”那么document.selection.SelectAll()
document.selection.Text = DelHTML(FormatHTML(document.selection.Text))
函数DelHTML(Str)
昏暗Re,l,t,c,i
设置Re =新RegExp
Re.IgnoreCase = True
Re.Global =真
Re.Pattern =“ <(。[^>] *)>”
DelHTML = Re.Replace(Str,“”)
设置Re =无
结束功能

函数格式HTML(Str)
Str = replace(Str,“&”,“&”)
Str = replace(Str,“”“,”“”“)
Str = replace(Str,“ <”,“ <”)
Str = replace(Str,“>”,“>”)
Str = replace(Str,“'”,“'”)
Str = replace(Str,“”,“”)
Str = replace(Str,“
Str = replace(Str,“
“,vbcrlf)
Str = replace(Str,“
“,vbcrlf)
Str = replace(Str,“
“,vbcrlf)
FormatHTML = Str
结束功能
`

+1

当需要简单的宏时,我一直需要在+1中重新打开文件

我发现了一个临时解决方案:

  • 获取“在编辑器中打开”扩展名
  • 将其设置为在您选择的支持宏的软件(Sublime,N ++)中打开文件
  • 为其设置键盘快捷方式
  • 每当需要使用宏时,请使用快捷方式,它将打开当前编辑的文件,并将光标设置在同一位置(在程序之间切换之前,请不要忘记保存文件!)

+1。 讨厌不得不移动到记事本,宏,然后再放回去。

+1

+1。 希望我可以快速使用它。

+1。 老实说,这是在计算机上安装Notepad ++的唯一方法。

令我惊讶的是,此功能仍然缺失

+1。 可惜还没有这个有用的功能...
仅由于宏而仍在使用Notepad ++。

+1。 刚刚使用Notepad ++来实现此功能。 很想在VS Code中看到它

+1。 这样我就不需要打开另一个vim窗口了。

+1
我唯一仍然要用notepad ++代替的东西,将被vscode完全取代

Editplus的10个可分配键击到Sublime的Open-ended宏,您在这场比赛中没有任何简报”的最初版本是1985年(即34年前),它从一开始就具有广泛的宏系统-您又在哪里?

如果您可以将其添加到下一个Sprint中,那就太好了。 那将非常有帮助!

我以前的编辑器(我敢肯定其他人也会这样做)记录了实际上只是生成脚本命令的键盘宏。 完成录制后,您可以选择将宏另存为脚本并进行编辑,然后将其添加到要加载的内容列表(扩展名?)等...分配给任何键。 这只是您输入名称的新命令。

默认情况下,它的工作方式类似于emacs。 记录,停止,播放..简单

EditPlus的另一个提及,在这方面做得很好。 您按CTRL-Q会弹出一个对话框,并选择要将宏分配给哪个数字(1到0)。 选择后,执行宏,完成后再次按CTRL-Q。 要重复该宏,然后按ALT-#。

转换数据时超级有用的功能

editplus macro

宏播放需要具有“重复到文件结尾”才能最有用。
对于这100,000个行数据文件。 而不是平衡尖的对象
您的键盘一个小时。 #textpad

在2019年2月20日,星期三,1:08 PM vinnyjames [email protected]写道:

EditPlus的另一个提及,在这方面做得很好。 你按
CTRL-Q弹出对话框并选择您要的数字(1到0)
将宏分配给。 选择后,执行宏并按CTRL-Q
完成后再次。 要重复该宏,然后按ALT-#。

转换数据时超级有用的功能

[image:editplus宏]
https://user-images.githubusercontent.com/5167824/53124506-5f87e080-3510-11e9-8413-f21e036d08e6.gif

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/Microsoft/vscode/issues/4490#issuecomment-465754172
或使线程静音
https://github.com/notifications/unsubscribe-auth/ABOzl_0qK3nv-_Q0imTEPghidX_N0izgks5vPbkwgaJpZM4H0-Mj

我对此功能非常感兴趣。 我研究了如何在@geddski扩展名的基础上实现记录,但是似乎没有任何方法可以记录它们来监听命令。 谁能确认? 似乎有人在2017年提出要求,但遭到拒绝。

如果有办法,我很乐意尝试实现它。

@hedgerh无法收听命令。 我启动了一个可编写脚本的宏扩展,但是最近没有时间继续追求它。
仅供参考-https: //github.com/dakaraphi/vscode-extension-transformer/issues/13

为什么不使用外部宏记录器?

不幸的是,我测试过的免费宏录制器都是垃圾,但是现在我正在从jitbit测试宏录制器。 您可以批量编辑所记录的键盘命令之间的延迟时间... 50ms仍然有效,并且对于我来说足够快。 您可以为宏分配快捷方式。 有人可以推荐一个好的免费软件宏记录器吗? 否则我会买一个准时器。

@我

如果您使用的是Windows,请查看“ Pulovers Macro Creator”: https ://www.macrocreator.com/

它是免费的,基于AutoHotKey,并且效果很好:)

仅将录制选项设置为“击键”和“定时间隔”。 录制宏后,批量编辑延迟时间。 进入菜单:选择/命令类型/睡眠。 右键单击列表,然后单击“编辑” ..,然后输入延迟时间...我的计算机上的最小时间为70毫秒(50毫秒是快速的,将无法使用)

pulover bulk

信息! 如果为命令托盘记录crtl + shift + p,请不要同时按ctrl和shift! 他们必须一个接一个地按下。

快乐的宏录制:)

@ricardona

如果您根本不了解它,请查看此gif;)

pulover

Pulovers Macro Creator是创建单个宏的快速方法,您再也不需要。 如果您经常需要宏,则建议您使用以下扩展名: https :

...或编写自己的扩展名(如果您熟悉js / node)。 vscode API可以触发所有命令,也可以触发扩展中的命令。

它并不完美(就像notepad ++中的宏记录器一样),但目前是最佳选择。

@ michael-k

更好的解决方案是...?

嗨,我当时正在考虑最终要为此寻求解决方案。 我可能很快就会有一些空闲时间:)

在解决这个问题之前,我想问几个问题:

  • 有人在做这个吗?
  • VSCode API用于命令记录/触发的限制是什么?
  • 考虑到这些限制,是否应将其实现为编辑器的插件或本机工具? (作为本机工具的一个优势是,它可以用于触发来自其他插件的命令)

嗨,我正在努力编写宏录制扩展,首先我必须对VSCode进行更改以使其成为可能。 I我发现,VSCode API没有为扩展提供侦听要执行的命令的方法。

因此,我进行了深入研究,并且实际上一直在致力于将命令公开给扩展。 他们还没有拒绝该功能,所以我假设他们有兴趣采用该功能。 不过,我不知道实际发布它的过程是什么样的。 这是PR https://github.com/Microsoft/vscode/pull/72345

我希望,一旦发布,进行宏录制扩展应该相当简单。 我不确定他们是否愿意将其实现为实际功能。 我想说,无论在哪里实现,增加监听命令的能力都是第一步。

(作为本机工具的一个优势是,它可以用于触发来自其他插件的命令)

此功能也将能够显示来自其他插件的命令,因此在将其创建为扩展时不应该成为问题。

放一个宏录制器扩展,在我的开发环境中测试我的vscode更改,它可以工作! 只需找出我的更改何时可能使其成为vscode版本。

macro

@hedgerh omg😭

@hedgerh您是否打包好并发布了一些扩展到vscode扩展市场? 它叫什么名字?

谢谢。

@rstriquer嘿,嘿,不幸的是,我不相信我所做的API更改已发布。 让我检查一下。

@hedgerh太好了,谢谢! 我只是希望尽快发布此功能,我确实需要此功能...

放一个宏录制器扩展,在我的开发环境中测试我的vscode更改,它可以工作! 只需找出我的更改何时可能使其成为vscode版本。

macro

它在大文件中执行吗?

如果使用vscodevim插件,vim宏已经可以使用。

放一个宏录制器扩展,在我的开发环境中测试我的vscode更改,它可以工作! 只需找出我的更改何时可能使其成为vscode版本。

macro

我们可以从vscode市场上安装它吗? 如果是这样,扩展名是什么?

更新扩展API更改的当前状态:新API涉及性能问题,因此他们决定取消它。 他们向PR开放,以便在VSCode中适当地添加宏录制功能。.一旦有空闲时间,我可能会开始研究如何实现它。 抱歉,一直在等待扩展程序可用的每个人。

我正在考虑开始更多地使用VScode,但是看到这个三年半的线程却看不到对这种有用功能的支持,真是令人失望:(。很抱歉,但我对此感到惊讶一位受好评的编辑器缺少了其他编辑器中已有数十年的重要功能。

我想念宏函数,但是这里没有提到的函数是vscode的多光标和选择函数。 通过此多行选择,我可以做很多使用宏的事情。

multiline-type

这些快捷方式概述:
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf

尽管如此,我希望将宏添加到vscode中。

如果您是vim用户,则可以嵌入neovim-刚刚尝试过,似乎可以使用以下插件工作:

https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim

编辑:我尝试了一下,发现它可以工作,但速度较慢,并且模式似乎无法按预期工作,仅供参考

FWIW,geddski宏扩展的当前工作分支是Jeff Hykin的宏命令。 没有宏录制,但是对我来说,这是我需要从Sublime Text移走某些工作的最后一部分,因为我需要一个长期使用的宏。

我只是看了一下,而宏指令指挥官似乎是对宏的升级
geddski! 我确定兼容性后将立即切换…

2019年11月21日星期四,上午11:26 Ben Coleman [email protected]
写道:

FWIW,geddski宏扩展的当前工作分支是Jeff
Hykin的宏指令。 没有宏录制,但对我来说是
最后我需要从Sublime Text移走一些工作,
我需要的长期使用宏。

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/microsoft/vscode/issues/4490吗?
或退订
https://github.com/notifications/unsubscribe-auth/AAHE7PSHGF4FHPEPG2752G3QU3HFNANCNFSM4B6T4MRQ

+1,我仍然只使用Sublime而不是VS Code,因为后者没有宏记录器。 我一直在使用它来将数据转换为代码,反之亦然。 可能的替代方法是用正则表达式替换,但是在许多情况下,宏记录器的速度更快。

我刚刚安装了它。 早上我会尝试一下...

2020年1月6日星期一,上午2:17MártonBalassa [email protected]
写道:

有人尝试过这个吗?

https://marketplace.visualstudio.com/items?itemName=jevakallio.vscode-hacker-typer

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/microsoft/vscode/issues/4490吗?
或退订
https://github.com/notifications/unsubscribe-auth/AAHE7PSDBAESHSUUGPM3N3DQ4LZLDANCNFSM4B6T4MRQ

有人尝试过这个吗?
https://marketplace.visualstudio.com/items?itemName=jevakallio.vscode-hacker-typer

这只是个玩笑..不是真正的宏录制器/重放

好吧,它有很多“玩笑”的方面,但它也声称是
宏记录器。 @Shai Ben-Naphtali-您已经尝试过并找到了它
欺诈吗?

2020年1月6日星期一上午9:02 Shai Ben-Naphtali [email protected]
写道:

有人尝试过这个吗?

https://marketplace.visualstudio.com/items?itemName=jevakallio.vscode-hacker-typer

这只是个玩笑..不是真正的宏录制器/重放

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/microsoft/vscode/issues/4490吗?
或退订
https://github.com/notifications/unsubscribe-auth/AAHE7PQUX6FM5RMQFYF2PJDQ4NIYFANCNFSM4B6T4MRQ

我不会称其为“欺诈性”,但是我确实安装了它并尝试了它,并且它按照描述的那样工作。 它不会执行OP想要的操作。

开发人员称它不是宏记录,开发人员称为宏记录器。 它以非常特定的方式记录并获得非常特定的结果。

“非常适合现场编码演示,给朋友留下深刻印象,或者只是试图忙于工作。”


好吧,它有很多“玩笑”的方面,但它也声称是一个宏记录器。 @shai Ben-Naphtali-您已经尝试过并发现它是欺诈性的?

2020年1月6日,星期一,上午9:02 Shai Ben-Naphtali @* >写道:有人尝试过这个吗? https://marketplace.visualstudio.com/items?itemName=jevakallio.vscode-hacker-typer这只是个玩笑..不是真正的宏录制器/重播-您收到此评论是因为您发表了评论。 回复此电子邮件直接,查看它在GitHub <#4490?email_source =通知&email_token = AAHE7PUY6HSCSZ5PRA5UQJDQ4NIYFA5CNFSM4B6T4MR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIF4IBQ#issuecomment-571196422>,或取消订阅https://github.com/notifications/unsubscribe-auth/AAHE7PQUX6FM5RMQFYF2PJDQ4NIYFANCNFSM4B6T4MRQ

在必须将其淘汰之前,我从来没有机会尝试过它。
干扰了我使用的代码段集合(而不是宏)
我应该有的录音机!

2020年1月7日(星期二)上午12:45 Shai Ben-Naphtali [email protected]
写道:

我不会称其为“欺诈性”,但我确实安装并尝试了它
就像描述的那样工作。 它不会执行OP想要的操作。

开发人员称它不是宏记录,开发人员称为宏
录音机。 它以非常特定的方式记录并获得非常特定的结果。

非常适合现场编码演示,给朋友留下深刻印象或仅仅是
试图忙于工作。

好吧,它有很多“玩笑”的方面,但它也声称是
宏记录器。 @shai https://github.com/shai Ben-Naphtali-您有
已经尝试过并发现它是欺诈性的?
…<#m_8759474290923726487_>
2020年1月6日,星期一,上午9:02 Shai Ben-Naphtali @* >写道:任何人
试过这个吗?
https://marketplace.visualstudio.com/items?itemName=jevakallio.vscode-hacker-typer
这只是个玩笑..不是真正的宏录制器/重放-您正在接收
这是因为您发表了评论。 直接回复此电子邮件,在GitHub上查看
<#4490 https://github.com/microsoft/vscode/issues/4490吗?
或退订
https://github.com/notifications/unsubscribe-auth/AAHE7PQUX6FM5RMQFYF2PJDQ4NIYFANCNFSM4B6T4MRQ

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/microsoft/vscode/issues/4490吗?
或退订
https://github.com/notifications/unsubscribe-auth/AAHE7PVK5TJZPIJ6JUUUPQ3Q4QXI7ANCNFSM4B6T4MRQ

将我的+1添加到这一急需的功能中。 我还被迫在VSCode和Notepad ++之间来回移动我的工作流,以便记录播放宏以多选无法解决的方式按摩文本。

顺便说一句,几十年前,我第一次着迷于使用“程序员的文件编辑器”进行宏编辑。 从那以后,它一直是我工具包中不可或缺的一部分。 因此,这在VSCode中是非常不可思议的!

我从未使用过PFE,但是Brief为我设定了标准。 考虑到花了多长时间
vscode来实现插入键,我在这个问题上已经放弃了……

2020年1月19日,星期日,上午9:14,MSIS MBA的小威廉·金博尔<
[email protected]>写道:

将我的+1添加到这一急需的功能中。 我也被迫搬家
工作流程返回到Notepad ++,以便记录播放宏。

顺便说一句,我首先迷上了使用“程序员的文件”进行宏编辑的方法。
编辑器”,这是我工具包中不可或缺的一部分
以来。 因此,这在VSCode中是非常不可思议的!

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/microsoft/vscode/issues/4490吗?
或退订
https://github.com/notifications/unsubscribe-auth/AAHE7PQPDJRG2P3QCDV2XKLQ6R355ANCNFSM4B6T4MRQ

+1

对我来说+ 1,Slickedit向我展示了宏的使用,宏的名称包括立即数和名称,以便将来使用。

+1

+1现在是2020年。

+1
请使鼠标快捷键可配置! 是2020年!

+1,请将宏功能添加到vscode中

你们都需要停止只留下“ +1”的评论。 它会向订阅此线程的所有人发送电子邮件。 相反,请竖起原始问题(已经有719人完成了)。

最近开始使用VS Code进行一些JavaScript工作,但似乎缺少了最重要的功能,即Mx键盘宏。

这将非常有用。

仅为此功能而在后台打开另一个编辑器太繁琐了。

+1我主要使用Latex的代码编辑器。 现在,在我朋友的推荐下,我试图从TexStudio切换到VS Code。 宏对我来说是必不可少的。

对于仍在等待此功能的每个人:
我同意,宏很棒。 但令我惊讶的是,有些评论员如此不屑一顾并谴责他们! 请注意以下事实:每周有数千小时的开发工作投入到该项目中,而这只是约5k问题中的一个。

考虑到这一点,请尝试解决方法。 要有创造力。 如前所述, vim插件内置了宏。如果您像我一样,并且不喜欢vim命令,那么这里有一些我一直在使用的有用技巧:

Cmd + D
将选择项添加到下一个最接近的匹配项。 您可以反复使用它来添加更多匹配项,然后根据需要进行编辑。 复制将单独获取所有光标数据,然后可以将其粘贴为新行或使用多个光标时的原始粘贴。 代码完成会影响所有游标。 即使不突出显示选择,您也可以使用此命令
ezgif-4-416a24f1e2f6

Cmd + L
功能类似于上面的命令,但会在整个文件中的所有匹配项中查找并
ezgif-4-86d685ab6442

Cmd + Shift + L
将光标添加到与您的搜索条件匹配的每个项目中。 这对于复杂的选择非常有帮助,您可以在搜索中使用正则表达式
ezgif-4-cb55bd70113d

现在很遗憾,您无法在文件上“播放”这些命令,因此它可能与您的用例不符。 但是对于在编辑过程中使用宏,最近几年我没有感觉到这种需要。
如果您真的很绝望,则可以使用钥匙+鼠标录音机软件并使用它。 但是我们不要太过分...

关键是:要有足够的资源,研究一些快捷方式,您可能会高兴地发现它们甚至比宏更好。

不幸的是,您的建议甚至与
我的Visual宏(现在是VSIX扩展名)具有的功能
工作室。

在VS 2005时代,我们有了宏IDE。 那真是太神奇了
开发宏。 宏IDE继承了VS 2008,然后是VS
2010年(通过越野车)。 然后,在“无限智慧”中,MS消失了
使用Macro IDE。 我是当时被PO'ed的许多人之一。 我不得不
找出一种将宏转换为插件的方法。 花费很多之后
数小时才能正常工作,我重新获得了以前的功能
VS的早期版本。 然后,在“无限智慧”中,MS放弃了
VS 2015的插件。我是PO'ed x3。然后我不得不花更多的时间
弄清楚如何使我的宏(进入库)与VSIX接口。

现在,在VS 2019中,我的VSIX无法加载。 我了解到我必须
再次更改我的VISIX以与VS 2019一起使用。我不知道何时会
bur,现在,我坚持使用VS 2017。

我什至没有使用VS Code,因为它不支持我的VSIX,因此
没有宏接口。 如果您决定这样做,我可能会去
以我们十年以上的Macro IDE方式整合一些东西
早在VS 2005中,我相信(以及许多其他观点)这是
需要添加的关键功能。

这就是我坚持使用VS 2017和Sublime的主要原因。

2020年5月1日,星期五,上午11:46费利佩·马伦[email protected]
写道:

对于仍在等待此功能的每个人:
我同意,宏很棒。 但这让我感到惊讶
谴责一些评论者! 请注意这一事实
每周有数千小时的开发时间投入到该项目中,并且
这只是大约5k个问题之一。

考虑到这一点,请尝试解决方法。 要有创造力。 如前所述
时代,vim插件https://github.com/VSCodeVim/Vim内置了宏
in。如果您像我一样,并且不喜欢vim命令,这里有一些帮助
我一直在使用的提示:

Cmd + D
将选择项添加到下一个最接近的匹配项。 您可以重复使用
添加更多匹配项,然后根据需要进行编辑。 复制将全部完成
光标数据,然后可以将其粘贴为新行或
最初在使用多个游标时发现。 代码完成会影响所有
游标。 即使不突出显示选择,您也可以使用此命令
[image:ezgif-4-416a24f1e2f6]
https://user-images.githubusercontent.com/3488482/80822343-5fad5280-8b8f-11ea-9a64-f07a1244ed16.gif

Cmd + L
功能类似于上面的命令,但会查找并向所有光标添加光标匹配整个文件
[image:ezgif-4-86d685ab6442]
https://user-images.githubusercontent.com/3488482/80822501-b61a9100-8b8f-11ea-92df-04d06cad6af8.gif

Cmd + Shift + L
将光标添加到与您的搜索条件匹配的每个项目中。 这是
对复杂的选择非常有帮助,您可以在自己的计算机中使用正则表达式
搜索
[image:ezgif-4-cb55bd70113d]
https://user-images.githubusercontent.com/3488482/80822598-eb26e380-8b8f-11ea-9588-75303f92e427.gif

现在很遗憾,您无法在文件上“播放”这些命令,因此可能
与您的用例不符。 但是对于在编辑过程中使用宏,我还没有
在最近几年感觉到了需要。
如果您真的很绝望,可以使用钥匙+鼠标录音机软件
并使用它。 但是我们不要太过分...

关键是:机智,研究一些快捷方式,然后您
可能很高兴发现它们甚至可以比宏做得更好

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/microsoft/vscode/issues/4490#issuecomment-622465706
或退订
https://github.com/notifications/unsubscribe-auth/AHU6LAIMRXNZREX5ZZTNBDLRPL4H5ANCNFSM4B6T4MRQ

已经有人发出了拉取请求,提供了跟踪输入密钥的功能,以及一个用于记录/回放的插件。 它被拒绝了。 因此,我们谈论的是数百人想要的功能,提供了代码,但尚未实现。 我想我们只是不了解未实施的原因?

谢谢@felipemullen的文章,并且您从事动画工作,这真的很有帮助。
是的,它是5000张公开门票中的一张,并且是反应和评论最多的前十名。
无论如何,很棒的技巧我一定会与多个光标一起使用。
要记住它们,只需在命令面板中搜索“ match”。

@jrieken从我的PR使用onDidExecuteCommand向扩展API添加命令日志:

但是,内部API在那里,我们愿意接受诸如“键盘绑定老师”或“宏录制”之类的功能,作为对VS Code的核心贡献。

我想带头将其添加到VS Code的核心。 为了快速跟踪事情,如果我能与VS Code团队中的某人打交道以适应方法,那就太好了。

cc @kieferrm @ alexr00,因为您两个在我原始的API更改中被循环/抄送

我知道这不能满足OP的要求,但是自从发现VS2010的越野车宏功能以来,我迁移到了UltraEdit并将所有宏都转换为该功能。 从那以后一直很高兴,但是很想看到Visual Code中积极维护的整体宏功能。

+100;)刚从emacs切换到vscode,很想进行宏录制...

经过4年的发展……来到Microsoft,我们希望在vscode中具有宏记录和播放功能。

@jrieken从我的PR使用onDidExecuteCommand向扩展API添加命令日志:

但是,内部API在那里,我们愿意接受诸如“键盘绑定老师”或“宏录制”之类的功能,作为对VS Code的核心贡献。

我想带头将其添加到VS Code的核心。 为了快速跟踪事情,如果我能与VS Code团队中的某人打交道以适应方法,那就太好了。

cc @kieferrm @ alexr00,因为您两个在我原始的API更改中被循环/抄送

最近好吗? 我也在考虑创建扩展。

我知道这不是同一件事,但是有一个扩展名可以替代我在录制宏时寻找的东西: https : =TechnoFunnel.multiplecopypaste
这是一个扩展,使您可以同时保存多个剪贴板

@ njoppi2我听到了,他们说他们可能不接受外部PR将宏记录添加到内核,因为该功能需要设计和大量测试。

我也在考虑创建扩展。

费耶,无法用当前的扩展API创建宏录制扩展。

这是最需要的功能#5,因此有希望。 对我来说,这是我保留另一个编辑器的一项功能,添加后,我可以使用代码处理几乎所有内容。

_这是急需的!! _我的意思是AutoHotKey和AutoKey很棒,但是VSCode原生的宏脚本会好10倍。 特别是如果它还可以包含特设python(例如AutoKey)。
我什至不需要录制...只需让我用击键,参数化的vscode命令等编写宏脚本,然后让这些宏在我选择的键绑定上执行。

@planetwarevince你看过宏指令吗? 它不做记录,但是其余的事。

作为2000年至2014年的EditPlus用户,Notepad ++ 2014-2017和现在的VSCode,我需要进行宏录制的能力。 我无法在任何扩展程序中找到此功能。 现在是时候让人们来实现此功能了。 我认为绝大多数用户将受益。

绝对需要这个。 可以在许多其他编辑器中进行记录和重放。 我最近切换到VSCode,可悲的是,我需要重新安装另一个编辑器,现在我必须进行一些重复但难以编写的编辑。

确实,这是我在VS Code中最想念的功能。 现在,我正在使用Notepad ++进行大量文本编辑,主要是因为它具有录制和回放宏的功能。 当您添加用于Notepad ++的Python插件时,该插件可让您编写Pyhton脚本以将文本操作到编辑器中,而可能性无限。

我想向要求键盘/菜单操作记录和重放功能的人添加声音。 我在日常工作中广泛使用它(例如在Textmate中),并且希望在VSCode中使用它。 谢谢。

+1和Notepad ++编辑器的Python操作。

Neovim扩展支持宏录制: https :

Neovim扩展支持宏录制: https :

您介意告诉在哪里搜索此功能? 我只是找不到通过此插件进行宏录制的任何参考。

荒谬的是,像VScode这样的代码IDE本身并不支持宏。 我们需要此功能。

https://marketplace.visualstudio.com/items?itemName=nodename.vscode-hacker-typer-fork
在演示过程中,我使用这一代码在编辑器中记录和重播代码片段。 我知道问题在于本机支持,但是我认为这对于许多用户来说就足够了。

(同样,此扩展是实际扩展HackerTyper的维护分支)

@felipemullen感谢您的深思熟虑的建议(我非常感谢您的(^TT.*Track )([1-9]{1})$ ,然后++在我有Track [1-9]后跟EOL的每个点给我一个光标。 然后我只需输入“ 0”,它就会插入到每个光标位置。

但是,由于必须打开“查找/正则表达式”窗格才能执行此操作,因此距离在替换对话框中输入$ 10 $ 2要做同样的事情只有几秒钟的路程。 如果只有一种不错的方式来加载代码片段的查找/替换,就像我们使用代码片段一样。

无论如何,您的建议使我在要查找的宏上进行了一些按键操作,但更重要的是向我介绍了多个游标的概念,我隐约意识到了这一点,但尚未见到使用。.谢谢,这将是我相信将来会有用。

我四处寻找API,以查看是否可行。 我认为,如果他们向commands添加一个事件,则可以轻松实现:

constructor() {
  ...
  vscode.commands.onDidExecuteCommand(this.onDidExecuteCommand, this, subscriptions);
  ...
}

private onDidExecuteCommand(evt: vscode.CommandExecuteEvent) {
  console.log(evt.name, ...evt.args);
}

通过查看所有命令的名称,看起来它们正在通过命令路由所有更改,甚至包括光标移动之类的事情。 因此,您只需要捕获它们并进行播放即可。 这也将带来很多有趣的扩展可能性,因为您可以将所需的任何功能挂接到任何命令。 我不确定人们是否通过命令参数发送密码,但是存在安全问题的风险。 您可能必须指定在注册命令时是否能够拦截该命令。

解决此问题的一种好方法是在要记录的所有命令之上创建自己的界面,该命令会记录下来,然后将其转发到vscode.command.executeCommand 。 您可能希望将其与自定义按键绑定配对,该按键绑定会将键盘控件发送到录音变体。 这听起来很痛苦,因为人们必须对其进行设置以匹配其键盘映射。 您可以潜在地从现有的键盘映射表自动生成一个新的键盘映射表,该键盘映射表通过记录变体发送东西。

我不需要一个光荣的,包含所有内容的键盘宏,我想要的只是自Brief以来一直存在的简单的录制/播放功能。 我目前几乎只将Notepad ++用于录制/播放按钮。
image

此页面是否有帮助?
0 / 5 - 0 等级