auto-commit-msg icon indicating copy to clipboard operation
auto-commit-msg copied to clipboard

Can this be hooked into onSave?

Open decryptedchaos opened this issue 4 years ago • 7 comments

I'm using this in a workspace where i don't care about commit messages, it's a static repo, of markdown files.

And while this is useful, i would rather it automatically populate the message onsave that way all i have to do is click one button.

decryptedchaos avatar Oct 06 '21 03:10 decryptedchaos

Ah, nice idea

MichaelCurrin avatar Oct 06 '21 09:10 MichaelCurrin

I couldn't find that event here :( https://code.visualstudio.com/api/references/activation-events

Oh wait that is when the extension activates (like on startup), not when it runs.

MichaelCurrin avatar Oct 06 '21 10:10 MichaelCurrin

Let me know if you find anything. Or any extensions to base on.

Other extensions I know of listen use the format on save flow, so listening to format event rather than save event. Maybe I can hook into that? Can't see anything useful for formatting or saving here. https://github.com/prettier/prettier-vscode/search?q=save

An alternative would be to add another button, or a mode, or keyboard shortcut. To generate and commit in one move, at the loss of seeing the message in between.

MichaelCurrin avatar Oct 06 '21 10:10 MichaelCurrin

Perhaps this would work too? Not sure not the best coder in the world. it seems VS Code referees to any source file. as "text"

onDidSaveTextDocument: Event<TextDocument>

There's also createFileSystemWatcher(globPattern: GlobPattern, ignoreCreateEvents?: boolean, ignoreChangeEvents?: boolean, ignoreDeleteEvents?: boolean): FileSystemWatcher

Your solution of a hot key to both would also solve the problem, have a look at those API references and let me know if either are useful

decryptedchaos avatar Oct 06 '21 13:10 decryptedchaos

I found https://code.visualstudio.com/api/references/vscode-api in the docs

I am seeing stuff print when using onDidSaveTextDocument like this.

  context.subscriptions.push(disposable);
  context.subscriptions.push(
    vscode.workspace.onDidSaveTextDocument(e => {
      console.log(`Running because of file change: ${e}`)
      vscode.window.showInformationMessage(`Running because of file change: ${e}`)
    })
  )

Use in VS Code

https://github.com/microsoft/vscode/blob/665e0adaec248003b1424514084e0fe27c7c2048/extensions/emmet/src/emmetCommon.ts#L140

And in another project

https://github.com/egodigital/vscode-powertools/blob/70f480b41e62fb912104b0d9e093bb0858d4ca85/src/extension.ts#L526

MichaelCurrin avatar Oct 09 '21 16:10 MichaelCurrin

@decryptedchaos I have ~#66~ #67.

You can try it out

git checkout auto-commit-msg
git pull
git checkout feat-add-save-hook
make ext

MichaelCurrin avatar Oct 10 '21 08:10 MichaelCurrin

Yep, Will check it out when i'm back at my desk

Thanks for the addition.

decryptedchaos avatar Oct 10 '21 08:10 decryptedchaos