Table of Contents
- Overview
- Write a commit/merge message via VSCode
- Viewing diffs with the previous commit in VS Code
- Quick-Viewing diffs Between the current file and the previous commit in VS Code
- Viewing diffs Between the active file and the selected
- Checking Commit Graph with Git Graph
- Checking Commit History with Git History
- Quick-Checking Which File Causes Conflict
- References
Overview
VSCode Extension List
Git Graph | Workspace観点のBranch/Commit変更履歴の確認 |
Git History | ファイル観点のCommit履歴の確認 |
Write a commit/merge message via VSCode
What I Want
git commit
orgit merge
コマンド入力時にVSCodeが立ち上がり, commit template画面が表示される- commit message記載後,
Ctrl + Enter
で内容の保存とcommit編集画面の終了が実行される
How
.gitconfig
に以下の記述を追加
1
2
[core]
editor = code --wait
shortcuts.json
に以下の記述を追加
1
2
3
4
5
6
7
8
9
10
{
"key": "ctrl+enter",
"command": "git.commitMessageAccept",
"when": "editorFocus && !isInDiffEditor && resourceDirname =~ /.git$/ && resourceFilename == COMMIT_EDITMSG"
},
{
"key": "ctrl+enter",
"command": "git.commitMessageAccept",
"when": "editorFocus && resourceDirname =~ /.git$/ && resourceFilename == MERGE_MSG"
},
設定 | 意味 |
---|---|
<args> =~ <pattern> |
args が<pattern> にマッチした際にTrueを変えす |
resourceDirname |
編集ファイルのdirectory名 |
resourceFilename |
編集ファイル名 |
Viewing diffs with the previous commit in VS Code
What I Want?
Git: Open Changes
と ファイル編集画面をトグルできるようにしたい- トグルの際は同じコマンドでon-offの切り替えができるようにしたい
- diffのinline viewのトグルもできるようにしたい
Implementation
- ステージング前に変更点を確認したい場合は確認したいファイルを開いた状態で
Git: Open Changes
実行すると, 直前のcommit時のファイルの状態との比較をハイライト付きで確認することができる - コンフリクト発生時における,該当箇所の確認も同様の方法で可能
Setup
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"key": "ctrl+alt+h",
"command": "git.openChange",
"when": "editorFocus && !isInDiffEditor",
"description": "Open Git Open Changes"
},
{
"key": "ctrl+alt+h",
"command": "workbench.action.closeActiveEditor",
"when": "editorFocus && isInDiffEditor",
"description": "Close Git Open Changes"
},
{
"key": "ctrl+alt+i",
"command": "toggle.diff.renderSideBySide",
"when": "editorFocus && !isInDiffEditor",
},
Quick-Viewing diffs Between the current file and the previous commit in VS Code
What I Want?
- 編集中ファイルについて前回Commitとの差分をクイックにEditor内部で確認する
- Editor画面のみに修正/変更/削除箇所のインジケーターが表示される(minimapには表示させない)
Setup
- VSCodeの「Gutter Indicator」というデフォルト機能をOnにする
settings.json
ファイルを以下のように指定
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
// Controls diff decorations in the editor.
// - all: Show the diff decorations in all available locations.
// - gutter: Show the diff decorations only in the editor gutter.
// - overview: Show the diff decorations only in the overview ruler.
// - minimap: Show the diff decorations only in the minimap.
// - none: Do not show the diff decorations.
"scm.diffDecorations": "gutter",
// Controls the visibility of the Source Control diff decorator in the gutter.
// - always: Show the diff decorator in the gutter at all times.
// - hover: Show the diff decorator in the gutter only on hover.
"scm.diffDecorationsGutterVisibility": "always",
// https://stackoverflow.com/questions/43969277/how-can-you-disable-gutter-indicators-in-vs-code
//"scm.diffDecorationsGutterAction": "none",
}
REMARKS
非表示にしたい場合は以下のように指定
1
"scm.diffDecorations": "none"
Viewing diffs Between the active file and the selected
What I Want?
Git: Open Changes
と同じ形式で2つのファイル間のdiffを確認したい
Implementation
- 比較元のファイルの内容がエディタの左側に, 比較対象のファイルの内容が右側に表示
- 上で設定した
toggle.diff.renderSideBySide
のショートカットコマンドでinline viewのToggleも可能
Setup
1
2
3
4
5
6
{
"key": "ctrl+alt+c",
"command": "workbench.files.action.compareFileWith",
"when": "editorFocus && !isInDiffEditor",
"description": "Compare the active file with the selected"
},
Checking Commit Graph with Git Graph
What I Want
- Workspace観点でLocal & Remote Branchesの変更履歴がグラフで見れる
- Commitの詳細情報がGUIで確認できる
- ショートカットコマンドはいつでも実行できるようにする
Install
Command Palleteにて以下のコマンドを実行
1
ext install mhutchie.git-graph
Setup
1
2
3
4
{
"key": "ctrl+shift+g",
"command": "git-graph.view"
},
- ショートカットコマンドを任意のタイミングで実行したいので
when
keyを設定しない
Checking Commit History with Git History
What I Want
- ファイル観点でCommit履歴と差分確認
Install
Command Palleteにて以下のコマンドを実行
1
ext install donjayamanne.githistory
Setup
1
2
3
4
5
{
"key": "alt+h",
"command": "git.viewFileHistory",
"when": "editorFocus && !isInDiffEditor"
},
Quick-Checking Which File Causes Conflict
What I Want
- Confictを引き起こすファイル一覧をEditorの中から確認したい
How to Check
- 「ソースコントロールビュー」経由でChanges一覧が確認可能
アルファベットの意味
アルファベット | 説明 |
---|---|
U |
git管理下にないファイル(untracked) |
A |
added |
M |
modified |
D |
deleted |
R |
renamed |
C |
conflictしたファイル |
References
関連ポスト
VSCode公式ドキュメント/Marketplace
VSCodeショートカット設定参考
- stackoverflow > Shortcut with multiple command in VSCode
- stackoverflow > VS Code - Shortcut for toggling Git Open Changes and Git Open File
その他VSCode設定
統計
Python
math
Linux
Ubuntu 20.04 LTS
Shell
English
git
方法論
Ubuntu 22.04 LTS
統計検定
競技プログラミング
フーリエ解析
前処理
SQL
coding
コミュニケーション
Network
ssh
将棋
Data visualization
Docker
Econometrics
VSCode
statistical inference
GitHub Pages
apt
development
システム管理
Coffee
cloud
数値計算
素数
Book
Font
Metrics
Poetry
Ubuntu 24.04 LTS
architecture
aws
shell
systemctl
テンプレート
データ構造
ポワソン分布
会計分析
文字コード
環境構築
論文
App
Bayesian
Dynamic Programming
Keyboard
Processing
R
Steam
filesystem
quarto
regex
(注意:GitHub Accountが必要となります)