Skip to content

Gitcme v1.7.0

Latest

Choose a tag to compare

@idmdakhi idmdakhi released this 03 Sep 15:11
· 12 commits to develop since this release

🚀 Gitcme v1.7.0 – Free‑form Text, Git Editor Mode, i18n & More!

We're excited to announce Gitcme v1.7.0 – a major update packed with new features, improvements, and fixes! This release brings three big additions: Free‑form Text mode, Git Editor Mode (COMMIT_EDITMSG) using a proper FileSystemProvider, and full internationalization (i18n) with Persian (فارسی) support. Plus, advanced issue references, frequent value chips, auto‑format body, and many more quality‑of‑life improvements.


✨ What's New

📝 Free‑form Text Mode

Write commit messages in a large textarea without the structured form – perfect for quick edits or when you prefer raw text. The editor automatically parses your message and syncs with the form.

🖥️ Git Editor Mode (COMMIT_EDITMSG)

Open a full VS Code editor to write your commit message, just like git commit from the terminal. Features:

  • Full VS Code editing (autocomplete, extensions, syntax highlighting)
  • Automatic 50/72 character rulers
  • # lines are ignored as comments
  • Auto‑apply to Source Control on save (Ctrl+S)
  • Configurable via autoApplyGitEditor and scmTitleCommand

🌍 Internationalization (i18n)

Now available in English and Persian (فارسی). The UI language automatically follows VS Code's display language, or you can manually set it via gitCommitMessageEditor.language.

🔗 Advanced Issue/PR References

Full support for GitHub's autolinked references:

  • #123, GH-123, owner/repo#123
  • Multiple keywords per field: Resolves #10, resolves #123, resolves octo-org/octo-repo#100
  • Supported keywords: close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved

📊 Frequent Type/Scope Chips

The most commonly used Type and Scope values are automatically extracted from your last 50 commits and displayed as clickable chips above the fields.

✏️ Auto‑Format Body

A new "Format" button wraps body lines based on maxLineLength, preserving paragraphs – no more manual line breaks!


📋 Full Changelog

Added

  • Free‑form Text mode – toggle between structured form and free‑text writing
  • Git Editor Mode – editable COMMIT_EDITMSG via FileSystemProvider with auto‑apply
  • Advanced Issue/PR references – support for GitHub autolinked references and multiple keywords
  • Internationalization (i18n) – English and Persian (فارسی) with automatic language detection
  • Mode tabs – switch between Form and Free Text modes with a single click
  • Format Body button – auto‑wrap body lines based on maxLineLength
  • Frequent Type/Scope chips – extracted from the last 50 commits
  • New settings:
    • autoApplyGitEditor – auto‑apply on save (default: true)
    • defaultEditorMode – default editor mode ("form" or "freeform")
    • scmTitleCommand – choose SCM title command ("open" or "openAsGitEditor")
    • rememberFrequentTypes – show frequent Type chips (default: true)
    • rememberFrequentScopes – show frequent Scope chips (default: true)
    • language – UI language ("auto", "en", "fa")

Changed

  • Draft persistence – now saves editorMode and freeformText across sessions
  • SCM title icon – now configurable via scmTitleCommand
  • FileSystemProvider – replaced the old TextDocumentContentProvider with a proper FileSystemProvider for Git Editor mode

Fixed

  • Git Editor read‑only issue – resolved by using a FileSystemProvider
  • Auto‑apply on save – Git Editor now correctly applies the message to SCM on Ctrl+S

🚀 Installation

From VS Code Marketplace

  1. Open VS Code
  2. Go to the Extensions view (Ctrl+Shift+X)
  3. Search for Gitcme - Git Commit Message Editor
  4. Click Install

Manual Installation

code --install-extension GitCommitMessageEditor-vsce-1.7.0.vsix

📚 Documentation

Full documentation is available on the wiki.


💬 Feedback & Contributions

We'd love to hear your feedback! If you encounter any issues or have suggestions, please open an issue or start a discussion.

Happy committing! 🚀


Full changelog: CHANGELOG.md
Repository: GitHub

Full Changelog: v1.0.0...v1.7.0