One Click Man | 원클맨
English
All content in this README is generated using OpenAI.
This is a VSCode extension that automatically generates commit messages using OpenAI. This extension analyzes Git diff and generates concise commit messages in the language specified by the user.
Usage
Extension Settings
Source Control Panel
Command Palette
Features
- Automatic Commit Message Generation: Analyzes Git diff using OpenAI and generates commit messages automatically.
- Language Selection: Choose the language for commit messages in settings. Supported languages: Korean, English, Chinese, Japanese, Spanish, French, German.
- Model Selection: Select OpenAI model for message generation. GPT-4o is the fastest, GPT-4 is the most accurate.
- API Settings: Customize OpenAI API settings such as max_tokens, temperature, top_p, frequency_penalty, presence_penalty.
- Prompt Template: Customize OpenAI prompt template where $$$DIFF$$$ is replaced by git diff and $$$LANGUAGE$$$ by the selected language.
- Ignored Files: Set files to be ignored in git diff comparisons.
Installation
- Install the "One Click Man" extension from the VSCode marketplace.
- After installation, configure your API key and other settings in the extension settings.
Configuration
API Key: Set your OpenAI API key.
"one-click-man.apiKey": "YOUR_API_KEY"
Language: Select the language for commit messages.
"one-click-man.language": "English"
Model: Select the OpenAI model to use.(gemini, claude, etc. are available via modelCustom when custom is selected).
"one-click-man.model": "gpt-4o-mini" | "custom"
Model custom: Select the model custom you want to use (gemini, claude, etc.).
"one-click-man.modelCustom": "gemini-1.5-pro-latest"
Max Tokens: Set the maximum number of tokens to generate shared between prompt and completion.
"one-click-man.maxTokens": 256
API Settings: Customize OpenAI API settings.
"one-click-man.apiSettings": {
"temperature": 0.7,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0
}
API Endpoint: Customize the API Endpoint.
“one-click-man.apiEndpoint": “https://api.openai.com/v1/chat/completions”
API Headers: Customize the API Headers.
“one-click-man.apiHeaders": {}
Include Branch Name: Set whether to include branch name in commit messages.
"one-click-man.includeBranchName": true | false
Prompt Template: Set the OpenAI prompt template.
"one-click-man.promptTemplate": "diff: $$$DIFF$$$, language: $$$LANGUAGE$$$"
Ignored Files: Set the list of files to be ignored.
"one-click-man.ignoredFiles": ["yarn.lock", "package-lock.json"]
Max Diff Length: Set the maximum length of the diff to be compared.
"one-click-man.wordsCount": 1000
Usage
- Stage the changes you want to commit.
- There are three ways to generate commit messages:
- Open the command palette (
Ctrl+Shift+P or Cmd+Shift+P ) and run Generate One Click Man Commit Message .
- Use the Source Control panel:
- Press
Ctrl+Shift+G to open the Source Control panel.
- Click the icon in the top right to generate a commit message.
- Press
Shift+Cmd+Enter to generate a commit message.
- Review and edit the automatically generated commit message if necessary, then commit.
- The generated commit message is automatically copied to the clipboard.
- Paste the message using
Cmd+V in the terminal when adding a commit.
Key Bindings
The extension provides the following default key bindings:
- Windows/Linux:
Ctrl+Alt+Enter
- macOS:
Shift+Cmd+Enter
Use these key bindings to quickly generate commit messages.
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
한국어
README 모든 내용은 OpenAI를 사용하여 생성되었습니다.
OpenAI를 사용하여 커밋 메시지를 자동 생성해주는 VSCode 확장입니다.
이 확장은 Git diff를 분석하고, 사용자가 설정한 언어로 간결한 커밋 메시지를 생성합니다.
사용법
extension 세팅
소스 컨트롤 패널
커맨드 팔레트
커맨드 입력
기능
- 자동 커밋 메시지 생성: OpenAI를 사용하여 Git diff를 분석하고 커밋 메시지를 자동으로 생성합니다.
- 언어 선택: 설정에서 커밋 메시지가 작성될 언어를 선택할 수 있습니다. 지원되는 언어는 한국어, 영어, 중국어, 일본어, 스페인어, 프랑스어, 독일어입니다.
- 모델 선택: OpenAI 모델을 선택하여 메시지를 생성할 수 있습니다. gpt-4o는 가장 빠르고, gpt-4는 가장 정확합니다.
- API 설정: OpenAI API 설정을 사용자 정의할 수 있습니다. 예를 들어, max_tokens, temperature, top_p, frequency_penalty, presence_penalty 등을 설정할 수 있습니다.
- 프롬프트 템플릿: OpenAI 프롬프트 템플릿을 설정하여, $$$DIFF$$$는 git diff로, $$$LANGUAGE$$$는 선택한 언어로 대체됩니다.
- 무시할 파일 설정: 특정 파일을 무시하도록 설정할 수 있습니다.
설치 방법
- VSCode 마켓플레이스에서 "One Click Man" 확장을 설치합니다.
- 설치 후, 설정에서 API 키와 기타 설정을 입력합니다.
설정 방법
API 키 설정: OpenAI API 키를 설정합니다.
"one-click-man.apiKey": "YOUR_API_KEY"
언어 설정: 커밋 메시지가 작성될 언어를 선택합니다.
"one-click-man.language": "Korean"
모델 설정: 사용할 OpenAI 모델을 선택합니다(custom 선택시 modelCustom을 통해 gemini, claude등 사용 가능합니다).
"one-click-man.model": "gpt-4o-mini" | "custom"
모델 커스텀 설정: 사용할 커스텀 모델을 선택합니다(gemini, claude 등).
"one-click-man.modelCustom": "gemini-1.5-pro-latest"
최대 토큰 설정: 프롬프트와 완료 간에 공유되는 생성할 최대 토큰 수입니다. 정확한 한도는 모델에 따라 다릅니다. (표준 영어 텍스트의 경우 하나의 토큰은 대략 4자입니다.)
"one-click-man.maxTokens": 256
API 설정: OpenAI API 설정을 사용자 정의합니다.
"one-click-man.apiSettings": {
"temperature": 0.7,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0
}
API Endpoint: API Endpoint를 사용자 정의합니다.
"one-click-man.apiEndpoint": "https://api.openai.com/v1/chat/completions"
API Headers: API Headers를 사용자 정의합니다.
"one-click-man.apiHeaders": {}
브랜치명 포함 여부 설정: 커밋 메시지에 브랜치명을 포함할지 여부를 설정합니다.
"one-click-man.includeBranchName": true | false
프롬프트 템플릿 설정: OpenAI 프롬프트 템플릿을 설정합니다.
"one-click-man.promptTemplate": "diff: $$$DIFF$$$, language: $$$LANGUAGE$$$"
무시할 파일 설정: 무시할 파일 목록을 설정합니다.
"one-click-man.ignoredFiles": ["yarn.lock", "package-lock.json"]
최대 diff 길이 설정: 최대 비교할 diff의 길이를 설정합니다.
"one-click-man.wordsCount": 1000
사용 방법
- 커밋할 변경 사항을 스테이징합니다.
- 커밋 메시지를 생성할 수 있는 3가지 방법이 있습니다.
- 커맨드 팔레트(
Ctrl+Shift+P 또는 Cmd+Shift+P )를 열고 원클맨 커밋 메시지 생성 명령어를 실행합니다.
- 소스 컨트롤 패널을 사용하여 커밋 메시지 생성
- Ctrl+Shift+G를 눌러 소스 컨트롤 패널을 엽니다.
- 우측 상단의 를 클릭하여 커밋 메시지를 생성합니다.
- shift+command+enter를 눌러 커밋 메시지를 생성합니다.
- 자동으로 생성된 커밋 메시지를 확인하고, 필요시 수정한 후 커밋합니다.
- 커밋 메세지 생성 직후 클립보드로 자동 복사 됩니다.
- command+v를 통해 터미널에서 커밋 추가시 메세지 붙여넣기 하여 사용할 수 있습니다.
키 바인딩
확장은 기본적으로 다음 키 바인딩을 제공합니다:
- Windows/Linux:
Ctrl+Alt+Enter
- macOS:
Shift+Cmd+Enter
이 키 바인딩을 통해 빠르게 커밋 메시지를 생성할 수 있습니다.
라이선스
이 프로젝트는 GNU General Public License v3.0에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
| |