[Feature Request] Non-Destructive Commit Message Generation & Dynamic Variable Support in Instructions · Issue #472 · microsoft/copilot-for-eclipse · GitHub
Skip to content

[Feature Request] Non-Destructive Commit Message Generation & Dynamic Variable Support in Instructions #472

Open

Description

@totomomo18

Problem Description
When using the GitHub Copilot plugin in the Eclipse Git Staging view or commit window to auto-generate commit messages, the extension currently overwrites any existing text present in the commit message box. If a user has already written a draft, added a ticket number, or included custom notes, they lose their text entirely.

Additionally, custom commit instruction prompts currently lack support for runtime variables (such as the current date, time, or active branch name), limiting the flexibility of automated commit formatting.

Proposed Behavior
Non-Destructive / Append Behavior:

Before replacing the contents of the commit message box, the plugin should check if the field already contains text.

If text is present, instead of wiping it, it should append the auto-generated commit message at the end of the existing text (separated by a newline), preserving the user's manual input.

Dynamic Variable Support in Instructions:

Allow developers to use standard environment or IDE-style variables (e.g., ${current_date}, ${git_branch}) within their custom commit instruction templates.

The plugin should evaluate and inject these variables before sending the request or finalizing the commit text.

Use Case & Motivation
Prevents Accidental Data Loss: Users frequently type manual prefixes or contextual details into the commit box before hitting the AI generation button, only to have their work erased.

Streamlined Workflows: Supporting variables like dates or branch names allows teams to standardize conventional commits with precise temporal or structural context automatically.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions