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
![setting](https://github.com/facebook/react/assets/35126809/48244271-3595-4eb2-a54d-1209bf254cb1)
Source Control Panel
![demo1](https://github.com/facebook/react/assets/35126809/c952319c-b670-495a-bfe0-3da453f9e772)
Command Palette
![demo2](https://github.com/facebook/react/assets/35126809/318b306c-06b2-4e5e-b444-c1f90796616d)
![demo3](https://github.com/facebook/react/assets/35126809/0d3f89e3-414b-4da3-9bfb-a5e82bc04315)
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 세팅
![setting](https://github.com/facebook/react/assets/35126809/48244271-3595-4eb2-a54d-1209bf254cb1)
소스 컨트롤 패널
![demo1](https://github.com/facebook/react/assets/35126809/c952319c-b670-495a-bfe0-3da453f9e772)
커맨드 팔레트
![demo2](https://github.com/facebook/react/assets/35126809/318b306c-06b2-4e5e-b444-c1f90796616d)
커맨드 입력
![demo3](https://github.com/facebook/react/assets/35126809/0d3f89e3-414b-4da3-9bfb-a5e82bc04315)
기능
- 자동 커밋 메시지 생성: 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 파일을 참조하세요.
| |