- 1. 概要
- 2. インストール
- 3. 設定
- 4. 参考サイト
1. 概要
最終系は、「SAKURA」エディタのように、空白/タブの変換を行うことなのです。
「Visual Studio Code」のネイティブな機能で、「Convert Indentation To Tabs」という機能がありますが。
これは、「インデントとして認識された空白」しか「TAB」に変換しません。
「SAKURA」エディタのように、途中空白も含め、「TAB」に変換、かつ、カラム位置をずらさないことなのです。
それには、新たなコマンドを追加して、コマンドにショートカットキーをあてることになります。
2. インストール
「multi-command」というコマンドを追加する拡張機能をインストールします。
3. 設定
コマンドを追加します。
「settings.json」に下記を追加します。
"multiCommand.commands":
[
{
"command": "multiCommand.tabToSpaceAll",
"sequence": [
"editor.action.selectAll",
"editor.action.startFindReplaceAction",
{
"command": "editor.actions.findWithArgs",
"args": {
"searchString": "\t",
"replaceString": " ",
"isRegex": false
}
},
"editor.action.replaceAll",
"closeFindWidget",
]
},
{
"command": "multiCommand.spaceToTabAll",
"sequence": [
"editor.action.startFindReplaceAction",
{
"command": "editor.actions.findWithArgs",
"args": {
"searchString": " {4}",
"replaceString": "\t",
"isRegex": true
}
},
"editor.action.replaceAll",
"closeFindWidget"
]
},
],
「keybindings.json」に下記を追加します。
{
"key": "ctrl+oem_102",
"command": "multiCommand.spaceToTabAll",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+oem_102",
"command": "multiCommand.tabToSpaceAll",
"when": "editorTextFocus"
},
これで、Ctrl+\ で空白をタブへ、Ctrl+Shift+\ でタブを空白へ変換できるようになります。
\ キーは、BackSpace の左のキーでなく、右の Shift の左にあるキーです。
4. 参考サイト
本ページは、「ChatGPT」軍曹を参考にさせていただきました。
|