├── .all-contributorsrc ├── .eslintrc.json ├── .gitignore ├── .vscode ├── extensions.json ├── launch.json ├── settings.json └── tasks.json ├── .vscodeignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── assets ├── edit.gif ├── icon.svg ├── icon_light.svg ├── logo.png └── open.gif ├── package-lock.json ├── package.json ├── package.nls.ja.json ├── package.nls.json ├── package.nls.zh-cn.json ├── package.nls.zh-hk.json ├── package.nls.zh-tw.json ├── src ├── config │ ├── commit-detail.ts │ ├── commit-input.ts │ ├── commit-type.ts │ ├── default-temp.ts │ └── template-type.ts ├── extension.ts ├── test │ ├── runTest.ts │ └── suite │ │ ├── extension.test.ts │ │ └── index.ts └── types │ └── git.d.ts ├── tsconfig.json └── vsc-extension-quickstart.md /.all-contributorsrc: -------------------------------------------------------------------------------- 1 | { 2 | "files": [ 3 | "README.md" 4 | ], 5 | "imageSize": 100, 6 | "commit": false, 7 | "commitType": "docs", 8 | "commitConvention": "angular", 9 | "contributors": [ 10 | { 11 | "login": "MaLuns", 12 | "name": "白云苍狗", 13 | "avatar_url": "https://avatars.githubusercontent.com/u/31614024?v=4", 14 | "profile": "https://www.imalun.com", 15 | "contributions": [ 16 | "code" 17 | ] 18 | }, 19 | { 20 | "login": "Tiddler-7", 21 | "name": "冷空气", 22 | "avatar_url": "https://avatars.githubusercontent.com/u/73354813?v=4", 23 | "profile": "https://github.com/Tiddler-7", 24 | "contributions": [ 25 | "doc" 26 | ] 27 | }, 28 | { 29 | "login": "imlinhanchao", 30 | "name": "Hancel Lin", 31 | "avatar_url": "https://avatars.githubusercontent.com/u/1502581?v=4", 32 | "profile": "http://my.hancel.org", 33 | "contributions": [ 34 | "code" 35 | ] 36 | }, 37 | { 38 | "login": "Torlinone", 39 | "name": "Keriy", 40 | "avatar_url": "https://avatars.githubusercontent.com/u/26668466?v=4", 41 | "profile": "https://github.com/Torlinone", 42 | "contributions": [ 43 | "code" 44 | ] 45 | }, 46 | { 47 | "login": "ArthurMynl", 48 | "name": "Arthur Meyniel", 49 | "avatar_url": "https://avatars.githubusercontent.com/u/61516506?v=4", 50 | "profile": "http://www.linkedin.com/in/arthurmeyniel", 51 | "contributions": [ 52 | "code" 53 | ] 54 | }, 55 | { 56 | "login": "haryoiro", 57 | "name": "haryoiro", 58 | "avatar_url": "https://avatars.githubusercontent.com/u/55312590?v=4", 59 | "profile": "https://github.com/haryoiro", 60 | "contributions": [ 61 | "doc" 62 | ] 63 | }, 64 | { 65 | "login": "DrBlackBird", 66 | "name": "Tom", 67 | "avatar_url": "https://avatars.githubusercontent.com/u/10115809?v=4", 68 | "profile": "https://github.com/DrBlackBird", 69 | "contributions": [ 70 | "doc" 71 | ] 72 | }, 73 | { 74 | "login": "webwuyou", 75 | "name": "风过无痕", 76 | "avatar_url": "https://avatars.githubusercontent.com/u/15182683?v=4", 77 | "profile": "http://www.webwuyou.com", 78 | "contributions": [ 79 | "code" 80 | ] 81 | }, 82 | { 83 | "login": "whwnow", 84 | "name": "whwnow", 85 | "avatar_url": "https://avatars.githubusercontent.com/u/1713701?v=4", 86 | "profile": "https://github.com/whwnow", 87 | "contributions": [ 88 | "code" 89 | ] 90 | }, 91 | { 92 | "login": "MichaelCurrin", 93 | "name": "Michael Currin", 94 | "avatar_url": "https://avatars.githubusercontent.com/u/18750745?v=4", 95 | "profile": "https://github.com/MichaelCurrin", 96 | "contributions": [ 97 | "doc" 98 | ] 99 | }, 100 | { 101 | "login": "odinsam", 102 | "name": "odinsam", 103 | "avatar_url": "https://avatars.githubusercontent.com/u/68220289?v=4", 104 | "profile": "https://www.odinsam.com/", 105 | "contributions": [ 106 | "code" 107 | ] 108 | }, 109 | { 110 | "login": "tys1128", 111 | "name": "tys1128", 112 | "avatar_url": "https://avatars.githubusercontent.com/u/24326849?v=4", 113 | "profile": "https://github.com/tys1128", 114 | "contributions": [ 115 | "doc" 116 | ] 117 | }, 118 | { 119 | "login": "mlzzen", 120 | "name": "mlzzen", 121 | "avatar_url": "https://avatars.githubusercontent.com/u/11664505?v=4", 122 | "profile": "http://mlzzen.vercel.app", 123 | "contributions": [ 124 | "code" 125 | ] 126 | }, 127 | { 128 | "login": "yeze322", 129 | "name": "zeye", 130 | "avatar_url": "https://avatars.githubusercontent.com/u/8528761?v=4", 131 | "profile": "https://github.com/yeze322", 132 | "contributions": [ 133 | "code" 134 | ] 135 | }, 136 | { 137 | "login": "moeyua", 138 | "name": "Moeyua", 139 | "avatar_url": "https://avatars.githubusercontent.com/u/45156493?v=4", 140 | "profile": "https://blog.moeyua.com", 141 | "contributions": [ 142 | "code" 143 | ] 144 | } 145 | ], 146 | "contributorsPerLine": 7, 147 | "skipCi": true, 148 | "repoType": "github", 149 | "repoHost": "https://github.com", 150 | "projectName": "git-commit-plugin", 151 | "projectOwner": "RedJue" 152 | } 153 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "parser": "@typescript-eslint/parser", 4 | "parserOptions": { 5 | "ecmaVersion": 6, 6 | "sourceType": "module" 7 | }, 8 | "plugins": ["@typescript-eslint"], 9 | "rules": { 10 | "@typescript-eslint/class-name-casing": "warn", 11 | "@typescript-eslint/semi": "warn", 12 | "curly": "warn", 13 | "eqeqeq": "warn", 14 | "no-throw-literal": "warn", 15 | "semi": "off", 16 | "quotes": ["warn", "single"], 17 | "indent": ["warn", 4] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | out 2 | node_modules 3 | .vscode-test/ 4 | package-lock.json 5 | .vsix 6 | .DS_Store 7 | git-commit-plugin-*.vsix 8 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "dbaeumer.vscode-eslint" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that compiles the extension and then opens it inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Run Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "runtimeExecutable": "${execPath}", 13 | "args": [ 14 | "--extensionDevelopmentPath=${workspaceFolder}" 15 | ], 16 | "outFiles": [ 17 | "${workspaceFolder}/out/**/*.js" 18 | ], 19 | "preLaunchTask": "${defaultBuildTask}" 20 | }, 21 | { 22 | "name": "Extension Tests", 23 | "type": "extensionHost", 24 | "request": "launch", 25 | "runtimeExecutable": "${execPath}", 26 | "args": [ 27 | "--extensionDevelopmentPath=${workspaceFolder}", 28 | "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" 29 | ], 30 | "outFiles": [ 31 | "${workspaceFolder}/out/test/**/*.js" 32 | ], 33 | "preLaunchTask": "${defaultBuildTask}" 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | // Place your settings in this file to overwrite default and user settings. 2 | { 3 | "files.exclude": { 4 | "out": false // set this to true to hide the "out" folder with the compiled JS files 5 | }, 6 | "search.exclude": { 7 | "out": true // set this to false to include "out" folder in search results 8 | }, 9 | // Turn off tsc task auto detection since we have the necessary tasks as npm scripts 10 | "typescript.tsc.autoDetect": "off", 11 | "cSpell.words": ["commit", "costom", "type"], 12 | "i18n-ally.localesPaths": [ 13 | "D:/GIT/git-commit-plugin/src/locale", 14 | "D:/GIT/git-commit-plugin" 15 | ], 16 | "i18n-ally.keystyle": "flat" 17 | } 18 | -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | // See https://go.microsoft.com/fwlink/?LinkId=733558 2 | // for the documentation about the tasks.json format 3 | { 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "type": "npm", 8 | "script": "watch", 9 | "problemMatcher": "$tsc-watch", 10 | "isBackground": true, 11 | "presentation": { 12 | "reveal": "never" 13 | }, 14 | "group": { 15 | "kind": "build", 16 | "isDefault": true 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | out/test/** 4 | src/** 5 | .gitignore 6 | vsc-extension-quickstart.md 7 | **/tsconfig.json 8 | **/.eslintrc.json 9 | **/*.map 10 | **/*.ts 11 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # CHANGELOG 2 | 3 | ## [1.5.0] 4 | - ✨ Feat: [adding \ allows line breaks to be displayed](https://github.com/RedJue/git-commit-plugin/commit/afd6e136f145f0366c15a2cc5faa9befd6a379e7) 5 | ## [1.4.0] 6 | - ✨ Feat: [added option to copy commit message](https://github.com/RedJue/git-commit-plugin/issues/116) 7 | ## [1.3.0] 8 | - ✨ Feat: [允许将当前 commit message 作为 subject 默认内容](https://github.com/RedJue/git-commit-plugin/pull/100) 9 | THX @[moeyua](https://github.com/moeyua) 10 | ## [1.2.1] 11 | - 🐞Fix: [after restarting the extension host, the plugin cannot be activated normally](https://github.com/RedJue/git-commit-plugin/issues/93) 12 | THX @[MaLuns](https://github.com/MaLuns) 13 | ## [1.2.0] 14 | - ✨ Feat: [zh-tw&zh-hk support](https://github.com/RedJue/git-commit-plugin/pull/90) 15 | THX @[Tiddler-7](https://github.com/Tiddler-7) 16 | ## [1.1.2] 17 | - 🐞Fix: [can't open with vscode v1.74.0](https://github.com/RedJue/git-commit-plugin/issues/79) 18 | - 🐞Fix: [更新 vscode 1.74.0(最新版)后无法使用](https://github.com/RedJue/git-commit-plugin/issues/81) 19 | THX @[simida0852](https://github.com/simida0852) 20 | THX @[Torlinone](https://github.com/Torlinone) 21 | - 🐞Fix: [ : no more than 20 words](https://github.com/RedJue/git-commit-plugin/issues/72) 22 | THX @[ArthurMynl](https://github.com/ArthurMynl) 23 | ## [1.1.0] 24 | - ✨ Feat: [Added localization support for ja-jp](https://github.com/RedJue/git-commit-plugin/commit/d85c54eeb233c68afeeddd1493455884a6f4800b) 25 | THX @[haryoiro](https://github.com/haryoiro) 26 | ## [1.0.9] 27 | - ✨ Feat: [Added localization](https://github.com/RedJue/git-commit-plugin/pull/60) 28 | THX @[spotnick](https://github.com/spotnick) 29 | ## [1.0.8] 30 | - 🐞Fix: [【Bug】无法添加多个自定义提交类型(commit type](https://github.com/RedJue/git-commit-plugin/issues/54) 31 | ## [1.0.7] 32 | - ✨Feat: [default type editable](https://github.com/RedJue/git-commit-plugin/commit/a7c43bc080b4ebfe12114e8b34923b03ed7cf8b6) 33 | - 📃Docs: [improve readability](https://github.com/RedJue/git-commit-plugin/commit/285afbf0e30c77c2d5068f37cdd2f42b86209b7b) 34 | THX @[MichaelCurrin](https://github.com/MichaelCurrin) 35 | - 🐞Fix: [修复未填写 scope 时输出空括号对问题](https://github.com/RedJue/git-commit-plugin/pull/52/commits/60ee9446aeef8253db95c807bec22197b7fe6b58) 36 | THX @[whwnow](https://github.com/whwnow) 37 | ## [1.0.6] 38 | - 🐞Fix: [fix commit type crash](https://github.com/RedJue/git-commit-plugin/commit/1ddb2bc248233a689ff64a4416955b57a70538f8) 39 | ## [1.0.5] 40 | - ✨Feat: [add custom templates](https://github.com/RedJue/git-commit-plugin/commit/5225dfbbe33859e16246b29f81c3e926d559043d) 41 | THX @[odinsam](https://github.com/odinsam) 42 | ## [1.0.4] 43 | - 🌈Style: [change icons](https://github.com/RedJue/git-commit-plugin/commit/611ecfb6c2cbf14436141056cc87da4530117c66) 44 | - 🐞Fix: issue [#36](https://github.com/RedJue/git-commit-plugin/issues/36) 45 | ## [1.0.3] 46 | - 🐞Fix: [fix icon color fade](https://github.com/RedJue/git-commit-plugin/commit/977713698c21bdb11b1c2154d154b16343a2b570) 47 | 48 | ## [1.0.2] 49 | - 🐞Fix: [fix type formatting](https://github.com/RedJue/git-commit-plugin/commit/418279d0c6372068c0923b8aeb7c44b546318d89) 50 | ## [1.0.1] 51 | - 🐞Fix: issue [#33](https://github.com/RedJue/git-commit-plugin/issues/33) 52 | - 🐞Fix: issue [#29](https://github.com/RedJue/git-commit-plugin/issues/29) 53 | ## [1.0.0] 54 | 55 | - 🐞Fix: issue [#17](https://github.com/RedJue/git-commit-plugin/issues/17) 56 | - 🐞Fix: issue [#21](https://github.com/RedJue/git-commit-plugin/issues/21) 57 | - 🐞Fix: issue [#23](https://github.com/RedJue/git-commit-plugin/issues/23) 58 | - 🐞Fix: issue [#19](https://github.com/RedJue/git-commit-plugin/issues/19) 59 | 60 | ## [0.0.5] 61 | 62 | - 🐞Fix: issue [#13](https://github.com/RedJue/git-commit-plugin/issues/13) 63 | - 🐞Fix: issue [#14](https://github.com/RedJue/git-commit-plugin/issues/14) 64 | - 🐞Fix: issue [#15](https://github.com/RedJue/git-commit-plugin/issues/15) 65 | 66 | ## [0.0.4] 67 | 68 | - ✨Feat: [Show Emoji](https://github.com/RedJue/git-commit-plugin/commit/426e3afad2c4568f946efda922412913d73e2836#diff-1750a4dcc9a0a9b1773d275e96c46a1e) 69 | - ✨Feat: [Custom Commit Type](https://github.com/RedJue/git-commit-plugin/commit/7344a1f5f65a7cf0f03a32701d53d1510777fb0a#diff-1750a4dcc9a0a9b1773d275e96c46a1e) 70 | - ✨Feat: [Max Subject Words](https://github.com/RedJue/git-commit-plugin/commit/7344a1f5f65a7cf0f03a32701d53d1510777fb0a#diff-1750a4dcc9a0a9b1773d275e96c46a1e) 71 | - 🐞Fix: issue [#2](https://github.com/RedJue/git-commit-plugin/issues/2) 72 | - 🐞Fix: issue [#8](https://github.com/RedJue/git-commit-plugin/issues/8) 73 | 74 | ## [0.0.3] 75 | 76 | - Add README.md 77 | - Fix bug 78 | 79 | ## [0.0.2] 80 | 81 | - Fix bug 82 | 83 | ## [0.0.1] 84 | 85 | - Initial release 86 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | MIT License 3 | 4 | Copyright (c) 2018 RedJue 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Git Commit Plugin For VS Code 2 | 3 | [![All Contributors](https://img.shields.io/badge/all_contributors-15-orange.svg?style=flat-square)](#contributors-) 4 | 5 | > Automatically generate git commit messages 6 | 7 | ![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/redjue.git-commit-plugin) 8 | ![Visual Studio Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/redjue.git-commit-plugin) 9 | ![Visual Studio Marketplace Installs](https://img.shields.io/visual-studio-marketplace/i/redjue.git-commit-plugin) 10 | ![Visual Studio Marketplace Rating (Stars)](https://img.shields.io/visual-studio-marketplace/stars/redjue.git-commit-plugin) 11 | ![Visual Studio Marketplace Rating](https://img.shields.io/visual-studio-marketplace/r/redjue.git-commit-plugin) 12 | ![GitHub contributors](https://img.shields.io/github/contributors/RedJue/git-commit-plugin) 13 | ![GitHub last commit](https://img.shields.io/github/last-commit/RedJue/git-commit-plugin) 14 | ![GitHub](https://img.shields.io/github/license/RedJue/git-commit-plugin?color=green) 15 | 16 | 17 | ## Requirements 18 | 19 | - VS Code `1.42.0` or higher. 20 | - VS Code's built-in Git plugin 21 | 22 | ## Format 23 | 24 | This extension follows the [Angular Team Commit Specification](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines), as follows: 25 | 26 | ``` 27 | (): 28 | 29 | 30 | 31 |