Visual Studio Code - 拡張機能 - コマンド追加


クラウディア 


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」軍曹を参考にさせていただきました。

EaseUS