Community
    • Login

    SaveAs as last command in macro; possible?

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    5 Posts 2 Posters 1.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Alan KilbornA
      Alan Kilborn
      last edited by

      Title says it all. LOL. Just kidding.

      So I have a macro that does a big replace on a log file.
      I want to make sure I don’t overwrite the original log file, so I had the idea to prompt myself with a Save As after my macro does its work. So it would be the last command in the macro, and things would end with the user (me) looking at a Save As prompt box.

      Doing some testing, I see that I can record a macro doing a Save As (only!, not my replace stuff too), but playing it back does nothing.

      If I save the macro, what gets put in shortcuts.xml is:

              <Macro name="saveas_test" Ctrl="no" Alt="no" Shift="no" Key="0">
                  <Action type="2" message="0" wParam="42024" lParam="0" sParam="" />
                  <Action type="2" message="0" wParam="45001" lParam="0" sParam="" />
              </Macro>
      
      

      42024 seems to be a “trim trailing” operation (that I didn’t ask for – could this be influenced by the editorconfig plugin??)

      45001 seems to be a “windows line ending” command (ok, now I’m more convinced editorconfig is having an effect)

      In spite of my findings, is there any way to achieve this functionality, specifically, Save As as last command in a macro?

      Sure, could turn to scripting…

      PeterJonesP 1 Reply Last reply Reply Quote 1
      • PeterJonesP
        PeterJones @Alan Kilborn
        last edited by

        @Alan-Kilborn said in SaveAs as last command in macro; possible?:

        Save As as last command in a macro?

        Save As is NPP Message 41008, but appears to be one of the many menu commands that cannot be recorded, but can be played back. If you manually insert

                <Action type="2" message="0" wParam="41008" lParam="0" sParam="" />
        

        and then reload, your macro should now bring up the Save As dialog

        PeterJonesP 1 Reply Last reply Reply Quote 3
        • PeterJonesP
          PeterJones @PeterJones
          last edited by

          Addendum:

          My guess as to the reason that Save As isn’t recordable: because half the users would want it to record the Save As including the filename, and will be upset if it doesn’t save the name in the macro; and the other half would yell and scream if the macro did record the filename, because obviously they wanted a different filename every time Save As is run. And there’s enough of that arguing for other issues, so the developers just disabled recording for Save As, upsetting the third half of the users. ;-)

          Well, okay, the real reason is they probably just forgot to put it in the list of recordable messages. But that might be a reason why they haven’t added it when doing other fixes of which actions are recordable.

          1 Reply Last reply Reply Quote 4
          • Alan KilbornA
            Alan Kilborn
            last edited by

            Thanks @PeterJones ; worked like a charm.
            One day I’ll think to just try the manual add, instead of relying on the recorder (I’m certainly not afraid to hand-edit shortcuts.xml).

            PeterJonesP 1 Reply Last reply Reply Quote 3
            • PeterJonesP
              PeterJones @Alan Kilborn
              last edited by

              @Alan-Kilborn ,

              The end of NppCommands.cpp has the list of IDM_ entries (ie, the menu commands) that are macro-recordable. So any not listed there are not.

              1 Reply Last reply Reply Quote 3
              • First post
                Last post
              The Community of users of the Notepad++ text editor.
              Powered by NodeBB | Contributors