Vscode: Macro recording

Created on 21 Mar 2016  ·  192Comments  ·  Source: microsoft/vscode

It would be nice to be able to record a sequence of inputs and then reproduce it as in Notepad++ or Vim.

editor feature-request

Most helpful comment

Put together a little macro recorder extension to test out my vscode changes in my dev environment, and it works! Just need to find out when my changes might make it into a vscode release.

macro

All 192 comments

This feature plus dired mode and vscode could compete with emacs.

+1 in sublime

Major help when refactoring to have a recordable macro for repetitive edits.

I'd love to see this, but one step further as in EditPlus, where multiple different macros can be recorded and assigned to different hotkeys. Makes it EXTREMELY nice to have common repetitive tasks assigned semi-permanently.

+1 It would be great

JEdit has a great macro implementation. It captures not only keyboard commands, but actions from menus as well. A script is created that you can then also save or modify.

+1

VSCode missing macros is the only reason I still have Sublime. I do repetitive editing by recording then playing back macros almost daily.

By the way, would love to be able to record a macro and then assign it to a keybinding. Visual Studio could do this in the 90's and it was great!

I wrote an extension that makes writing custom macros easy. Don't have recording yet, but it's still pretty convenient.

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

Cannot record macros in vscode :disappointed:

+1 Would love to see ability to record / playback / keyboard-assign macros. Sublime Text, for example, is a very useful text triage tool, and one of the reasons for that is because you can playback repetitive tasks (for me it's usually preparing long lists of values for SQL statements). VSCode is very close.

I don't believe that VS Code doesn't have macro recording!!!! In Notepad++ and Sublime this funcionality exists and is very usefull. I will need now to reinstall Sublime because of this :(

Oh yes! Would LOVE being able to record macros and re-play them until EOF.

Yes.

+1

Yes, would love to have it. I'm in process converting angular 1 to angular 2 manually, and need to do a lot of repeating "find and replace".

Adding my support for this feature. It's the only thing I still open Notepadd++ for.

+1

Just adding my support for recording macros; this with playback would eliminate my need to keep Notepad++.

@geddski when you say that your extension doesn't have recording _yet_, does this mean that it'll get recording in a (near ?) future ?

@JulienFerraro I'm not planning on adding recording but would happily merge a PR with it!

Workaround: Add a task that opens the current VSCode buffer in your other editor (e.g. Notepad++ or Vim) then make your changes there. Not elegant nor desirable shrug but it's a workaround.

+1

This would be thé feature with makes VSC my default editor for daily usage.

Perhaps an alternative to full blown macro recording would be to add some sort of event listeners to the API. This could open the door for extension developers to build a macro recording extension. Ultimately the API would could listen for keystrokes and executed commands and pass those to the event listeners, then an extension could record and save them and then play them back at a later time. It's sort of a low-level piece of the macro-recording puzzle.

  • Ctrl+Shift+R: Start recording
  • Ctrl+Shift+R: Stop recording
  • Ctrl+Shift+P: Playback

I'm actually a little shocked that recordable macros wasn't on the short list of MVP for VSCode. I haven't used an editor in 30 years that hasn't had that feature and I use it quite often. Even Visual Studio has that feature.

I once also added a feature that let you insert the result of an expression. One of the inputs to the expression was the iteration count of the repeat command. So, you could effectively record something like

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

Then repeat that (think emacs Ctrl+R) so Ctrl+R 10 Ctrl- would end up making

 1000
 1010
 1020
 1030
 1040
 1050
 ...

This is a critical feature for me. I was amazed at how much I was enjoying VS Code, and was letting friends and colleagues know about it, but this pushes me back to Sublime Text. I'd really enjoy it if it were Vim-like, in that you could have multiple macros recorded under different keys.

Gotta admit I'm rather shocked that recordable macros aren't a part of VS Code myself.

It seems inane that I need to cut and paste my working text into Vim just so I can build and run a macro :)

+1 for macros, it is very convenient

+1

I was wondering, since people seem to like this (missing) feature. What is the reason why it's not available in VSC? Is it difficult to implement? Is there another reason?

It's a really excellent question. Unfortunately my Javascript skills are nascent at best so I'm no help, but IMO having recordable macros i sa de-rigeur feature for any programmer's editor, and I was totally shocked that an incredible editor like VSCode is missing this feature.

Could we maybe raise awareness about this bug and get a bunch of folks to +1? I'll send out a tweet and mention the issue along with @code - any other fora we can use to promote this?

Well, please do so; I'll retweet :).

+1
How is this not done already...

+1
Looking forward to this feature.

+1
I just moved to mac and intended to make VS Code my default editor but then this...

+1
I love saving time

+1

+1 Please add I"m wasting time doing the same stuff over and over

I have used the mentioned macro extension from above, and it works very nicely. All that is needed is a recorder.

I did notice a small problem though. I wanted to, in emacs-speak, isearch-forward for a character and I failed to do it in a macro. For macros to be truly useful, everything needs to be scriptable. The problem with the search facility was that it opens the dialog and the macro does not seem to be able to control the search itself. Maybe there is an incremental search that I missed.

How do you think this feature works best? Builtin or as a plugin?

I don't really care, as long as I can record/playback keystrokes :)

+1

+1 Honestly confused as to why it doesn't have a recorder

+1 It's been part of other major code editors for long now, VSCode needs this

+1

++i
The must be an underlying issue, yes?

that's really an issue --- I need this feature almost every day for refactoring reasons
and it's a blame to switch from vs code to notepad++ refactoring the code and then back
to vs code

I would really recommend to put the feature on the high prio dev list

thx
Juan

+1
It is very important to migrate from emacs

+1

+1

PLEASE

+1

So, we now have a HUGE corpus of +1s on this issue. How can we take it to next steps? Does anyone know any of the VSCode core developers? I mean, I could scan git commits and mail people, but I also don't want to annoy the crap out of these folks either, we're all getting this amazing tool free of charge after all :)

I'm not 100% sure if anyone has mentioned it, but the VSCode Vim plugin has macros built in
https://github.com/VSCodeVim/Vim

Yup. It's been mentioned. I've tried to use that plugin but it interacts badly with other extensions like the Python one.

+1 (Looks like I'll be installing EditPlus for this one feature)

+10,000

I've already commented on this before, but something I realized I use quite a bit when I use macro: Repeat macro till end of file.

I use this a ton if I'm ever dealing with some kind of data file that I need to do a consistent modification to (for example, replacing tabs with spaces between data entries) for 100+ lines.

A must have feature! Add this and it will be a Sublime Text killer for me.

  • Ctrl+Shift+R: Start recording
  • Ctrl+Shift+R: Stop recording
  • Ctrl+Shift+P: Playback

+1. I'm dumbfounded as to why this isn't part of VS Code already. This is a huge reason to continue using Sublime Text.

Even a simple implementation, like the one in Notepad++, would be great.

Pleaseeeee, not a simple implementation, at least we have to be allowed to record the search and replace

@jpsala

Well Notepad++ macro recording does in fact support search & replace. :-)

@mrkafk
oh, OK, didn't know that, it's only that I'm just afraid that this feature be implemented poorly

I'm looking forward to the day where I get a GitHub notification and click it and it's this issue again except the latest comment is that the feature has been implemented instead of another comment of people begging for this feature :)

Ctrl+Shift+R:
what do we want?
MACROS!
when do we want them?
NOW!
Ctrl+Shift+R:
Ctrl+Shift+P:
what do we want?
MACROS!
when do we want them?
NOW!

+1 (It would often be very helpful during development. You can't do everything about regular expressions.)

and 2 years later, here we are

With a fantastic editor! Don’t forget that!!

Op di 13 mrt. 2018 om 20:26 schreef jfftonsic notifications@github.com

and 2 years later, here we are


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/4490#issuecomment-372788641,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADueO_z3HyNMlqV1CRNaglV3qo8CviVuks5teB1RgaJpZM4H0-Mj
.

So it's been quite awhile and no progress has been made. People have mentioned implementing this via an extension. Apparently the Vim Extension has the recording already implemented.

I have no idea what I'm doing with extensions. Is it possible that somebody could take the Vim extension and extract the macro recording part into a new extension?

I think that's probably going to be the simplest way to get this implemented since (correct me if I'm wrong) Microsoft hasn't even commented on the issue and doesn't appear to want to do anything about this until awhile later (the issue is a Backlog milestone, along with 1,700 other feature requests).

@u2berggeist You could only get some partial support doing the Vim approach.
VSCode will let you listen to keystrokes, but you can't listen to commands. So there would be gaps in what you can actually record making it not a great experience.

I'm actually working on what I hope to be the next best thing, which will be scriptable macros. Will post a preview when I have something far enough along.

@dakaraphi Thanks for the clarification. When you specify commands vs keystrokes, are you referring to internal shortcuts? As in something like Ctrl + c wouldn't work but using the Backspace and Return key would work fine?

For my personal use cases, 99% of my macro use is literally just a series of Returns, Backspaces, Deletes, and inserting random punctuation. IDK about everyone else though.

@u2berggeist

Returns, Backspaces, Deletes, and inserting random punctuation

That would probably be possible, but another common need is to position the cursor based on search. So you can't capture the user using the Find command for example.

@dakaraphi, I think your are right, it's important for me to use commands in the macro, the case you mentioned is in did one of my use cases

I've just posted an early preview of my work on macros. Please comment in the linked issue if you find it of interest.
https://github.com/dakaraphi/vscode-extension-transformer/issues/13

I've now published the early work on macros to the marketplace.
It is part of this extension - https://marketplace.visualstudio.com/items?itemName=dakara.transformer

Please follow this issue for any feedback - https://github.com/dakaraphi/vscode-extension-transformer/issues/13

I've got a VSIX extension for Visual Studio that was derived from the macros that I wrote many years ago.

I cannot live without that functionality.

It uses the DTE/EnvDTE interface. Most of my code is in libraries compiled from Visual Basic (the language that was used to write macros in earlier versions of VS).

It would be great if I could port it all over to VS Code.

Is there a realistic possibility that could happen within the near future?

PLEASE make this happen!

Thus far we've all been commenting on this bug FOREVER, tweeting about it,
yammereing about it etc.

The developers seemingly aren't interested in implementing this feature.

Or at least if they are, they haven't communicated that.

-Chris

On Thu, Apr 26, 2018 at 12:39 PM, RayBowman2017b notifications@github.com
wrote:

I've got a VSIX extension for Visual Studio that was derived from the
macros that I wrote many years ago.

I cannot live without that functionality.

It uses the DTE/EnvDTE interface. Most of my code is in libraries compiled
from Visual Basic (the language that was used to write macros in earlier
versions of VS).

It would be great if I could port it all over to VS Code.

Is that a realistic possibility that could happen within the near future?


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/4490#issuecomment-384708458,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAUJVkVhD5M7xPT6tk88_AzQ9Rptjg0cks5tsfhQgaJpZM4H0-Mj
.

--
Christopher Patti - Geek At Large | GTalk: [email protected] | P: (260)
54PATTI
"Inaction breeds doubt and fear. Action breeds confidence and courage. If
you want to conquer fear, do not sit home and think about it. Go out and
get busy." ― Dale Carnegie

+1

@Feelav and anyone else: Friendly reminder to thumbs up the first comment on this issue. I believe that's how they track the importance of issues, including the order in which they tackle "feature requests" (even though I would almost consider it a bug to not have this simple feature implemented).

Edit: based on that, we're actually pretty high on the list. But we're still definitely marked as backlog, so I don't know what that does for our cause.

Someone should just submit a PR - ask for forgiveness later!

Please do.

For my part, I don't understand Javascript / Typescript well enough. I'd
love to learn, but that would take time I do not currently have :)

On Mon, May 14, 2018 at 12:56 PM, Andy Fang notifications@github.com
wrote:

Someone should just submit a PR - ask for forgiveness later!


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/4490#issuecomment-388887581,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAUJVr7fyRag_GKrbrzu2dnkhdlxXA2sks5tybcggaJpZM4H0-Mj
.

--
Christopher Patti - Geek At Large | GTalk: [email protected] | P: (260)
54PATTI
"Inaction breeds doubt and fear. Action breeds confidence and courage. If
you want to conquer fear, do not sit home and think about it. Go out and
get busy." ― Dale Carnegie

+1

Giving up and switching to Neovim - it has all the features I want and gives me the ability to write scripts for it in Lua or Python, both of which I know :)

Visual Studio had the same Ctrl+R/Ctrl+R/Ctrl+P keyboard macro record/playback that Notepad++ has until versiion 2012 or 2013, where then silently removed it.

+1 recordable macros are still missing - without it can't replace my default editor (e.g. PSPad)

+1 I have been following this issue for two years now.

Coming from emacs, I love VS code!! but I agree macro recording/playback would be awesome... I was surprised to find it's not already there :(

I use vscode vim extension which alllows for macros, but currently cant save the registers. But i would love for this native functionality

I've decided to go back to emacs - it's still a much better editor even for Web Development.

+1 so simple yet so powerful if you need it

This is very important for productivity

+1 This would be really useful and implementing it should be a no brainer!

+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.

      +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.

I don't know if I'd go that far. Its a pretty great editor to me, but this feature would bring it to parity with lesser editors when it comes to being able to replay actions.

Also would love to see this feature, although by no means does the lack of it "completely discredits" all other features. Harsh man. Have you tried custom snippets? That's a pretty cool feature.

Attempting to switch from vim tonight. So far, this is the only really disappointing limitation I've found.

@burke Try using multi-line editing. It's quite powerful and most of the time it beats the need for macros, at least for me.

Yeah, it does address probably 3/4 of my use cases for macros. :+1:

True, but unfortunately it does not work for large files. For example: multi-line editing of 5000+ lines is not possible.

+1 - I'd love to see this in VS Code.

  • 1 id really use this about now.

emeditor's macro is very easy to use .
use js or vbs write macro or recording like this :
` vbscript
If document.selection.Text = "" Then document.selection.SelectAll()
document.selection.Text = DelHTML(FormatHTML(document.selection.Text))
Function DelHTML(Str)
Dim Re, l, t, c, i
Set Re = New RegExp
Re.IgnoreCase = True
Re.Global = True
Re.Pattern = "<(.[^>]*)>"
DelHTML = Re.Replace(Str, "")
Set Re = Nothing
End Function

Function FormatHTML(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
End Function
`

+1

+1 All the time I need to reopen files in the Notepad++ when the simple macro is needed

A temporary solution I found:

  • get the "Open In Editor" extension
  • set it up to open files in software of your choice that supports macros (Sublime, N++)
  • set a keyboard shortcut for it
  • whenever you need to use a macro, use the shortcut and it will open current edited file and will set the cursor to same spot (don't forget to save the file before switching between programs!)

+1. Hate having to move to Notepad, Macro, then put it back.

+1

+1. Hope I can use it quickly.

+1. This is honestly the only thing keeping Notepad++ installed on my computer.

Surprising to me that this feature is still missing

+1. It's a shame don't have this useful feature yet...
Still using Notepad++ only because of the macros.

+1. Just used Notepad++ for this feature. Would love to see it in VS Code

+1. So that I needn't to open another vim window.

+1
Only thing I still notepad++ for, which would be completely replaced by vscode

From the 10 assignable keystrokes of Editplus to the Open-ended macros of Sublime, you have no horse in this race! Why not? You will wither and blow-away without users and you are chasing them away without modern features! The initial release of Brief was 1985, _34 years ago_, with an extensive macro system from the get-go—again where are you?

Would be great if you could add this to one of the next sprints. That would be extremely helpful!

My previous editor (I'm sure others do this) records keyboard macros which actually just generate script commands. When you finish recording you can optionally save the macro as a script and edit it Add it to your list of things to load (extensions?) etc... Assign to whatever keys. It's just a new command you give a name.

By default though it works like emacs. Record, Stop, Playback.. simple

another mention for EditPlus which does a great job at this. You press CTRL-Q to bring up a dialog and pick which number (1 through 0) you want to assign the macro to. Once chosen, you perform the macro and press CTRL-Q again when complete. To repeat the macro, you then press ALT-#.

super useful feature when transforming data

editplus macro

Macro playback needs to have "Repeat to end of file" to be most useful ...
for those 100,000 line data files. Instead of balancing a pointy object on
your keyboard for an hour. #textpad

On Wed, Feb 20, 2019 at 1:08 PM vinnyjames notifications@github.com wrote:

another mention for EditPlus which does a great job at this. You press
CTRL-Q to bring up a dialog and pick which number (1 through 0) you want to
assign the macro to. Once chosen, you perform the macro and press CTRL-Q
again when complete. To repeat the macro, you then press ALT-#.

super useful feature when transforming data

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


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/4490#issuecomment-465754172,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABOzl_0qK3nv-_Q0imTEPghidX_N0izgks5vPbkwgaJpZM4H0-Mj
.

I'm very interested in this feature. I looked into how I could possibly implement recording to build on @geddski's extension, but it doesn't look like there is any way to listen for commands in a way that they could be recorded. Can anyone confirm? It looks like someone requested it in 2017, but it was shot down.

If there's a way to do it, I'd be happy to try to implement it.

@hedgerh There is no way to listen to commands. I started a scriptable macro extension, but haven't had time to continue to pursue it lately.
FYI - https://github.com/dakaraphi/vscode-extension-transformer/issues/13

Why not use an external macro-recorder?

The freeware macro recorders I have tested are all rubbish ... unfortunatly, but I'm testing the macro recorder from jitbit at the moment. You can bulk-edit the delay times between the recorded keyboard commands ... 50ms still works and is fast enough for my purposes. And you can assign shortcuts to the macros. Can anybody recommend a good freeware macro recorder? Otherwise I will buy the jitbit one.

@myself

If you are on Windows, check out "Pulovers Macro Creator": https://www.macrocreator.com/

It's free, based on AutoHotKey, and it works perfectly :)

Set recording options to "Keystrokes" and "Timed Intervals" only. After you recorded a macro, bulk-edit the delay-times. Go to menu: select / command type / sleep. Right click on the list and "Edit" .. then input the delay-time ... Minimum is 70ms on my Computer (50ms is to fast and will not work)

pulover bulk

Info! If you record crtl + shift + p for the command pallet, dont press ctrl and shift at the same time! They must be pressed one after each other.

Happy macro recording :)

@ricardona

If you dont get it at all, have a look at this gif ;)

pulover

Pulovers Macro Creator is a quick way for creating individual macros, that you'll never need again. If you need a macro very often I would recommend this extension: https://marketplace.visualstudio.com/itemdetails?itemName=geddski.macros

... or write your own extension if you're familiar with js/node. The vscode API can trigger all commands and also commands from extensions.

It's not perfect (like the macro recorder in notepad++) but it's the best option at the moment.

@michael-k

Better solution is ...?

Hey, I was thinking of finally trying to work on a solution for this. I will probably have some freetime soon :)

Before I tackle this, I would like to ask a couple of questions:

  • Is anyone already working on this?
  • What are the limitations of the VSCode API for command recording/triggering?
  • Considering the limitations, should this be implemented as a Plug-in or a native tool for the editor? (One advantage of being a native tool is that it can be used to trigger commands from other plugins)

Hey, I'm working towards writing a macro recording extension, first I have to make changes to VSCode to make it possible. 😸 What I discovered was that VSCode API doesn't provide a way for extensions to listen for commands to be executed.

So I dug in and have actually been working on exposing commands to extensions. They haven't shot down the feature, so I'm assuming they have some interest in adopting it. I don't know what the process is going to look like to actually get it released, though. Here is the PR https://github.com/Microsoft/vscode/pull/72345

Once released, it should be fairly trivial to make a macro recording extension, I hope. I'm not sure if they have any willingness to implement it as an actual feature. Regardless of where it is implemented, adding the ability to listen to commands is the first step, I'd say.

(One advantage of being a native tool is that it can be used to trigger commands from other plugins)

This feature will also be able to surface commands from other plugins, so this shouldn't be an issue when creating it as an extension.

Put together a little macro recorder extension to test out my vscode changes in my dev environment, and it works! Just need to find out when my changes might make it into a vscode release.

macro

@hedgerh omg 😭

@hedgerh have you pack it up and release some extension to the vscode extensions marketplace? Whats the name of it?

Thanks.

@rstriquer hey hey, i dont believe the API change i made has been released yet, unfortunately. let me check and see.

@hedgerh Awesome work, thanks! I'm just praying for this to be released asap, I really need this feature...

Put together a little macro recorder extension to test out my vscode changes in my dev environment, and it works! Just need to find out when my changes might make it into a vscode release.

macro

Does it perform in big files?

The vim macros already work if you use the vscodevim plugin.

Put together a little macro recorder extension to test out my vscode changes in my dev environment, and it works! Just need to find out when my changes might make it into a vscode release.

macro

Can we already install this from the vscode marketplace? if so, what is the name of the extension?

Update on the current state of the extension API change: there were performance concerns with the new API, so they've decided to nix it. They are open to PRs to add macro recording functionality to VSCode proper, though.. I may start looking into how to do implement it once I get some free time. Sorry to everyone who has been waiting on the extension to become available.

I'm looking into starting to use VScode more, but seeing this three-and-a-half-years thread with no support in sight for such a useful feature is really disappointing :(. Sorry for whining, but I'm surprised such a praised editor is missing such a key feature that's been around for decades in other editors.

I miss the macro functions, but a function not mentiod here is the multi-cursor and selection functions of vscode. I can do a lot of things I used macro's for with this multiline selection.

multiline-type

Overview of these shortcuts:
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf

Nonetheless, I hope macro's are added to vscode...

If you're a vim user, you can embed neovim - just tried it and it seems to work using this plugin:

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

EDIT: I tried it and found it worked, but was slower, and the modes seemed to not work as expected, fyi

FWIW, the currently working fork of geddski's macro extension is Jeff Hykin's macro-commander. Doesn't have macro recording, but for me it was the last piece I needed to move some work over from Sublime Text, as I had a long-term use macro I needed.

I just looked and macro-commander looks to be an upgrade from macros by
geddski! Will switch as soon as I determine compatibility…

On Thu, Nov 21, 2019 at 11:26 AM Ben Coleman notifications@github.com
wrote:

FWIW, the currently working fork of geddski's macro extension is Jeff
Hykin's macro-commander. Doesn't have macro recording, but for me it was
the last piece I needed to move some work over from Sublime Text, as I had
a long-term use macro I needed.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/4490?email_source=notifications&email_token=AAHE7PUJGMDKPN3GJUVJ77LQU3HFNA5CNFSM4B6T4MR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE3GF6I#issuecomment-557212409,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHE7PSHGF4FHPEPG2752G3QU3HFNANCNFSM4B6T4MRQ
.

+1 on this, I'm only still using Sublime instead of VS Code because latter has no macro recorder. I'm using it all the time to transform data into code and vice versa. A possible alternative is regex replace, but for a lot of cases macro recorder is way faster.

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

It's just a joke .. not a real macro recorder/replay

Well, there are "joke" aspects in it's eright-up, but it also claims to be
a macro recorder. @Shai Ben-Naphtali—you have tried it already and found it
to be fraudulent?

On Mon, Jan 6, 2020 at 9:02 AM Shai Ben-Naphtali notifications@github.com
wrote:

Anyone tried this one?

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

It's just a joke .. not a real macro recorder/replay


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/4490?email_source=notifications&email_token=AAHE7PUY6HSCSZ5PRA5UQJDQ4NIYFA5CNFSM4B6T4MR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIF4IBQ#issuecomment-571196422,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHE7PQUX6FM5RMQFYF2PJDQ4NIYFANCNFSM4B6T4MRQ
.

I wouldn't call it "fraudulent" but I did install it and did try it and it works just as described. It won't do what the OP wants it to do.

It doesn't claim to be a macro record we, developers call a macro recorder. It records in a very specific way and for a very specific outcome.

"Great for live coding presentations, impressing your friends, or just trying to look busy at work."


Well, there are "joke" aspects in it's eright-up, but it also claims to be a macro recorder. @shai Ben-Naphtali—you have tried it already and found it to be fraudulent?

On Mon, Jan 6, 2020 at 9:02 AM Shai Ben-Naphtali @.*> wrote: Anyone tried this one? https://marketplace.visualstudio.com/items?itemName=jevakallio.vscode-hacker-typer It's just a joke .. not a real macro recorder/replay — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#4490?email_source=notifications&email_token=AAHE7PUY6HSCSZ5PRA5UQJDQ4NIYFA5CNFSM4B6T4MR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIF4IBQ#issuecomment-571196422>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHE7PQUX6FM5RMQFYF2PJDQ4NIYFANCNFSM4B6T4MRQ .

I never got the chance to try it before I had to rip it out.
Interfered with my snippets collection which I use instead of the macro
recorder I should have!

On Tue, Jan 7, 2020 at 12:45 AM Shai Ben-Naphtali notifications@github.com
wrote:

I wouldn't call it "fraudulent" but I did install it and did try it and it
works just as described. It won't do what the OP wants it to do.

It doesn't claim to be a macro record we, developers call a macro
recorder. It records in a very specific way and for a very specific outcome.

Great for live coding presentations, impressing your friends, or just
trying to look busy at work.

Well, there are "joke" aspects in it's eright-up, but it also claims to be
a macro recorder. @shai https://github.com/shai Ben-Naphtali—you have
tried it already and found it to be fraudulent?
… <#m_8759474290923726487_>
On Mon, Jan 6, 2020 at 9:02 AM Shai Ben-Naphtali @.*> wrote: Anyone
tried this one?
https://marketplace.visualstudio.com/items?itemName=jevakallio.vscode-hacker-typer
It's just a joke .. not a real macro recorder/replay — You are receiving
this because you commented. Reply to this email directly, view it on GitHub
<#4490 https://github.com/microsoft/vscode/issues/4490?email_source=notifications&email_token=AAHE7PUY6HSCSZ5PRA5UQJDQ4NIYFA5CNFSM4B6T4MR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIF4IBQ#issuecomment-571196422>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHE7PQUX6FM5RMQFYF2PJDQ4NIYFANCNFSM4B6T4MRQ
.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/4490?email_source=notifications&email_token=AAHE7PRB4WSAPDI5L5HRTSTQ4QXI7A5CNFSM4B6T4MR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIIAD7A#issuecomment-571474428,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHE7PVK5TJZPIJ6JUUUPQ3Q4QXI7ANCNFSM4B6T4MRQ
.

Adding my +1 to this much-needed capability. I am also forced to move my workflow back-and-forth between VSCode and Notepad++ in order to record-playback macros to massage text in ways multi-select does not solve.

Incidentally, I first got hooked on macro editing with "Programmer's File Editor" decades ago. It's been an indispensable part of my tool-kit ever since. As such, this is sorely missed in VSCode!

I never used PFE, but Brief set the standard for me. Given how long it took
vscode to implement the insert key, I've pretty much given up on this issue…

On Sun, Jan 19, 2020 at 9:14 AM William W. Kimball, Jr., MBA, MSIS <
[email protected]> wrote:

Adding my +1 to this much-needed capability. I am also forced to move my
workflow back to Notepad++ in order to record-playback macros.

Incidentally, I first got hooked on macro editing with "Programmer's File
Editor" decades ago. It's been an indispensable part of my tool-kit ever
since. As such, this is sorely missed in VSCode!


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/4490?email_source=notifications&email_token=AAHE7PXLAQ2C57YNMWMEGELQ6R355A5CNFSM4B6T4MR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJKV7AQ#issuecomment-576020354,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHE7PQPDJRG2P3QCDV2XKLQ6R355ANCNFSM4B6T4MRQ
.

+1

+1 for me, Slickedit showed me the use of macros, both immediate and sotre by name for future use.

+1

+1 it`s 2020 now..

+1
Please make mouse shortcuts configurable! It's 2020!

+1 please add macro feature to vscode

Y'all need to stop leaving comments just to "+1". It sends everyone subscribed to this thread an email. Thumbs up the original issue instead (which 719 people have already done).

Recently started using VS Code for some javascript work and it seems to be missing the feature that matters the most, M-x keyboard-macros.

This would be very useful.

It's so tedious to keep another editor open in the background just for this feature.

+1 I mainly use code editors for Latex. Now I am trying to switch from TexStudio to VS Code under my friend's recommendation. Macros are indispensible to me.

To everyone who is still awaiting this feature:
Macros are great, I agree. But it surprises me at how dismissive and condemning some of the commenters are! Please be mindful of the fact that thousands of hours of development go into this project every week, and this is just one of ~5k issues open.

With that in mind, try a workaround. Be creative. As mentioned several times, the vim plugin has macros built in. If you're like me, and don't like vim commands, here are some helpful tips that I've been using:

Cmd+D
Adds a selection to the next nearest match. You can use this repeatedly to add more matches and then edit them as needed. Copying will take all cursor data separately and it can then be pasted as new lines or as originally found when using multiple cursors. Code completion affects all cursors. You can use this command even without highlighting a selection
ezgif-4-416a24f1e2f6

Cmd+L
Functions like the command above but will find and add a cursor to all matches in the entire file
ezgif-4-86d685ab6442

Cmd+Shift+L
Adds a cursor to every item that matches your search criteria. This is very helpful with complex selections and you can use regexes in your searches
ezgif-4-cb55bd70113d

Now unfortunately you can't "playback" these commands on files, so it may not match your use case. But for using macros during editing, I have not felt the need in the last couple of years.
If you're really desperate, you could get a key+mouse recorder software and use that. But let's not go overboard...

The point is: Be resourceful, look into some of the shortcuts, and you might be delighted to find that they might even do a better job than macros

Unfortunately, what you are suggesting does not even come close to the
functionality that I have with my macros (now VSIX extension) for Visual
Studio.

Back in the time of VS 2005, we had the macro IDE. That was FANTASTIC for
developing macros. The macro IDE was carried forward to VS 2008, then VS
2010 (through a bit buggy). Then, in it's "infinite wisdom", MS did away
with the Macro IDE. I was one of many who were PO'ed at the time. I had to
figure out a away to convert my macros into an addin. After spending many
hours getting that to work, I had regained the functionality that I had in
previous versions of VS. Then, in it's "infinite wisdom", MS did away with
addins with VS 2015. I was PO'ed x 3. I then had to spend many more hours
figuring out how to get my macros (into a library) to interface with VSIX.

Now, with VS 2019, my VSIX will not load. I've learned that I have to
change my VISIX yet AGAIN to work with VS 2019. I don't know when I will
get to that, bur, for now, I am sticking with VS 2017.

I'm not even using VS Code because it will not support my VSIX, and there
is no interface for macros. I might go to it should you ever decide to
incorporate something in the way of the Macro IDE that we had over 10 years
ago in VS 2005, and I believe (along with many others) that this is
critical functionality that needs to be added..

This is the main reason why I stick with VS 2017 and Sublime.

On Fri, May 1, 2020 at 11:46 AM Felipe Mullen notifications@github.com
wrote:

To everyone who is still awaiting this feature:
Macros are great, I agree. But it surprises me at how dismissive and
condemning some of the commenters are! Please be mindful of the fact
that thousands of hours of development go into this project every week, and
this is just one of ~5k issues open.

With that in mind, try a workaround. Be creative. As mentioned several
times, the vim plugin https://github.com/VSCodeVim/Vim has macros built
in. If you're like me, and don't like vim commands, here are some helpful
tips that I've been using:

Cmd+D
Adds a selection to the next nearest match. You can use this repeatedly
to add more matches and then edit them as needed. Copying will take all
cursor data separately and it can then be pasted as new lines or as
originally found when using multiple cursors. Code completion affects all
cursors. You can use this command even without highlighting a selection
[image: ezgif-4-416a24f1e2f6]
https://user-images.githubusercontent.com/3488482/80822343-5fad5280-8b8f-11ea-9a64-f07a1244ed16.gif

Cmd+L
Functions like the command above but will find and add a cursor to all
matches
in the entire file
[image: ezgif-4-86d685ab6442]
https://user-images.githubusercontent.com/3488482/80822501-b61a9100-8b8f-11ea-92df-04d06cad6af8.gif

Cmd+Shift+L
Adds a cursor to every item that matches your search criteria. This is
very helpful with complex selections and you can use regexes in your
searches
[image: ezgif-4-cb55bd70113d]
https://user-images.githubusercontent.com/3488482/80822598-eb26e380-8b8f-11ea-9588-75303f92e427.gif

Now unfortunately you can't "playback" these commands on files, so it may
not match your use case. But for using macros during editing, I have not
felt the need in the last couple of years.
If you're really desperate, you could get a key+mouse recorder software
and use that. But let's not go overboard...

The point is: Be resourceful, look into some of the shortcuts, and you
might be delighted to find that they might even do a better job than macros


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/4490#issuecomment-622465706,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHU6LAIMRXNZREX5ZZTNBDLRPL4H5ANCNFSM4B6T4MRQ
.

Someone already issues a pull request provide the ability to keep track of keys entered, and a plugin to use that for record/playback. It was turned down. So we are talking about a feature that hundreds of people want, code has been provided, yet it is not implemented. I guess we just don't understand the reason it is not implemented?

Thank you @felipemullen for your post and you work on animation, it's really helpful.
Yes it's one of 5000 open tickets and in the top ten with the most reactions and comments.
Great tips anyway I will definitely use them together with multiple cursors.
To remember them, just search for "match" in the command palette.

@jrieken From my PR to add command logging to the extension API with onDidExecuteCommand:

However, the internal API is there and we are open to accept features like the "keybindings teacher" or "macro recording" as a core contribution to VS Code.

I'd like to take the lead on adding this to the core of VS Code. To fast track things, it'd be great if I could touch base with someone on the VS Code team to align on approach.

cc @kieferrm @alexr00 since you two were looped in/CC'd on my original API change

I know this doesn't address the OP's request but ever since discovering VS2010's buggy macro capability, I migrated to UltraEdit and converted all my macros to that instead. Been happy ever since but would love to see a holistic macro capability actively maintained in Visual Code.

+100 for this ;) just switched to vscode from emacs and would love to have macro recording...

4 years in the making... come on Microsoft, we would love to have macro record and playback functionality in vscode.

@jrieken From my PR to add command logging to the extension API with onDidExecuteCommand:

However, the internal API is there and we are open to accept features like the "keybindings teacher" or "macro recording" as a core contribution to VS Code.

I'd like to take the lead on adding this to the core of VS Code. To fast track things, it'd be great if I could touch base with someone on the VS Code team to align on approach.

cc @kieferrm @alexr00 since you two were looped in/CC'd on my original API change

How is it going? I am thinking about creating the extension as well.

I know it's not the same thing, however there's this extension that is a good substitute for what I was looking for with recording macros: https://marketplace.visualstudio.com/items?itemName=TechnoFunnel.multiplecopypaste
it's a extension which allows you to have multiple clipboards saved at the same time

@njoppi2 I heard back and they said they likely wouldn't accept an outside PR to add macro recording to core, since the feature would require design and a lot of testing.

I am thinking about creating the extension as well.

Fyi, there's no way to create a macro recording extension with the current extension API.

This is the #5 most requested feature so there's hope. For me this is the one feature I keep another editor for, with this added I could use code for literally everything.

_This is desperately needed!!_ I mean AutoHotKey and AutoKey are great, but macro scripting native to VSCode would be 10x better. Especially if it can also include ad hoc python such as AutoKey does.
I don't even need recording... just let me script my macros with keystrokes, parameterized vscode commands, etc. and let those macros execute on keybindings of my choosing.

@planetwarevince Have you looked at macro commander? It doesn't do recording, but it does the rest.

As a an EditPlus user from 2000 to 2014, Notepad++ 2014-2017, and now VSCode, I NEED the ability to do macro recording. I have not been able to find this functionality in any extensions. It's time folks.. time to get this feature implemented. I think a vast majority of the user base would benefit.

Definitely need this. Recording and replaying is available in many other editors. I switched to VSCode recently, sadly I need to reinstall another editor now I have to do some repetitive but hard-to-script editing.

Indeed, this is the feature I miss most in VS Code. Right now, I'm using Notepad++ for heavy text editing, mainly for its ability for recording and playback macros. When you add the Python pluging for Notepad++, which lets you write Pyhton scripts to manipulate text into the editor, the posibilities are endless.

I would like to add my voice to those asking for a keyboard/menu-action record-and-replay feature. I use it extensively in my everyday work (in my case in Textmate) and would love to have it in VSCode. Thanks.

+1 and Notepad++ Python manipulation of editor.

The Neovim extension supports macro recording: https://github.com/asvetliakov/vscode-neovim

The Neovim extension supports macro recording: https://github.com/asvetliakov/vscode-neovim

Would you mind to tell where to search about this feature? I just can't find any reference for macro recording via this plugin.

It really fringes with the absurd that a code IDE as VScode does not support macros natively. We need this feature.

https://marketplace.visualstudio.com/items?itemName=nodename.vscode-hacker-typer-fork
I use this one to record and replay code snippets in the editor during presentations. I understand the issue is for native support, but I think this would suffice for a lot of users.

(also, this extension is a maintained fork of the actual extension HackerTyper)

@felipemullen Thank you for that thoughtful suggestion (and I appreciate where you're coming from). I wasn't aware of the power of multi-cursors and it applies nicely to my use case. I repeatedly have to edit audio metadata files and manually pad tracks with a leading 0 for tracks 1-9. To do this, using your approach, I am able to enter a regular expression in FIND, like (^TT.*Track )([1-9]{1})$ and then ++ gives me a cursor at every point where I have a Track [1-9] followed by EOL. Then I can just enter '0' and it gets inserted into every cursor location.

However, since I have to open the find/regex pane to make this work, I'm only seconds away from entering $10$2 in the replace dialog to do the same thing. If only there were a nice way to load the find/replace with snippets, like we do with code snippets.

Anyway, your suggestion takes me a few keystrokes closer to the macros I am looking for but more importantly introduced me to the concept of multiple cursors which I was vaguely aware of but had yet to see a use for.. Thank you, this will be useful in the future I'm sure.

I poked around at the API looking to see if this is possible. I think if they added one event to commands this could be implemented easily:

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

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

By looking at the names of all the commands it looks like they are routing all changes through commands, even things like cursor movement. So, you'd just have to capture those and play them back. It would open a lot of interesting extension possibilities, too, since you could hook any functionality you wanted to any command. I'm not sure if people are sending passwords through command arguments but there is a risk of a security problem. You might have to specify if a command is able to be intercepted when registering it.

A hacky way to get around this would be to create your own interface on top of all the commands you want to record which records them then forward them to vscode.command.executeCommand. You'd probably want to pair that with a custom keybinding which would send keyboard controls to the recording variants. It sounds like a pain since people would have to set it up to match their keymap. You could potentially autogenerate a new keymap from an existing one that sends things through recording variants.

I don't need a glorious all encompassing keyboard macro, All I want is the simple record/play that has been around since Brief. I currently use Notepad++ pretty much for only the record/play buttons.
image

Was this page helpful?
0 / 5 - 0 ratings