默认配置文件
所有的给予 VSCode 的键位映射统一由默认配置文件来维护,其他配置文件继承他。一些公共的插件和设置也通过将设置|插件应用于所有配置文件
来实现共享。
JSON
// DEFAULT
{
"settingsSync.keybindingsPerPlatform": false, // 跨平台同步 keybindings.json
// 全部配置文件共享设置
"workbench.settings.applyToAllProfiles": [
"editor.fontSize",
"extensions.experimental.affinity",
"editor.formatOnSave",
"extensions.ignoreRecommendations",
"path-intellisense.absolutePathToWorkspace",
"path-intellisense.autoSlashAfterDirectory",
"remote.extensionKind",
"vim.leader",
"vim.easymotion",
"vim.sneak",
"vim.sneakUseIgnorecaseAndSmartcase",
"vim.useCtrlKeys",
"vim.foldfix",
"vim.useSystemClipboard",
"vim.normalModeKeyBindingsNonRecursive",
"editor.defaultFormatter"
],
// ==================== 基础设置 ==============================
"editor.fontSize": 16, // 字体大小
"editor.defaultFormatter": "esbenp.prettier-vscode", // 默认格式化工具
"extensions.ignoreRecommendations": true, // 不在显示建议
"editor.formatOnSave": true, // 保存时自动格式化
// ==================== 插件设置 ==============================
// === Path Intellisense
"path-intellisense.absolutePathToWorkspace": false, // 默认绝对路径基于工作区感知,false 表示绝对路径基于磁盘根目录解析
"path-intellisense.autoSlashAfterDirectory": true, // 导航到文件夹时自动添加斜杠
// === Project Manager
"remote.extensionKind": {
"alefragnani.project-manager": [
// 远程保存项目
"workspace"
]
},
// ==================== vim ==============================
"vim.leader": " ", // Leader 设置为空格
"vim.easymotion": true, // 开启 easymotion 插件 <leader>jw{char} <leader>jl
"vim.sneak": true, // 开启 sneak 插件 s{char}{char}
"vim.sneakUseIgnorecaseAndSmartcase": true,
"vim.useCtrlKeys": false, // 禁用 vim 的 ctrl 按键,允许 Ctrl+s 之类键位可用
"vim.foldfix": true, // 允许 jk 跳过折叠
"vim.useSystemClipboard": true, // 使用系统剪切板
// Normal 下按键绑定
"vim.normalModeKeyBindingsNonRecursive": [
{
"before": [":"],
"commands": ["workbench.action.showCommands"],
"silent": true
},
// ============== 窗口管理 ============================
// 聚焦到 1-5 编辑器组
{
"before": ["<leader>", "1"],
"commands": ["workbench.action.focusFirstEditorGroup"],
"silent": true
},
{
"before": ["<leader>", "2"],
"commands": ["workbench.action.focusSecondEditorGroup"],
"silent": true
},
{
"before": ["<leader>", "3"],
"commands": ["workbench.action.focusThirdEditorGroup"],
"silent": true
},
{
"before": ["<leader>", "4"],
"commands": ["workbench.action.focusFourthEditorGroup"],
"silent": true
},
{
"before": ["<leader>", "5"],
"commands": ["workbench.action.focusFifthEditorGroup"],
"silent": true
},
// 关闭编辑器组以及其中的编辑组
{
"before": ["<leader>", "w", "d"],
"commands": ["workbench.action.closeEditorsAndGroup"],
"silent": true
},
// 最大化组
{
"before": ["<leader>", "w", "c"],
"commands": ["workbench.action.maximizeEditor"],
"silent": true
},
// 关闭其他编辑器
{
"before": ["<leader>", "w", "o"],
"commands": ["workbench.action.closeEditorsInOtherGroups"],
"silent": true
},
// 聚焦下上右左编辑器组
{
"before": ["<leader>", "w", "j"],
"commands": ["workbench.action.focusBelowGroup"],
"silent": true
},
{
"before": ["<leader>", "w", "k"],
"commands": ["workbench.action.focusAboveGroup"],
"silent": true
},
{
"before": ["<leader>", "w", "h"],
"commands": ["workbench.action.focusLeftGroup"],
"silent": true
},
{
"before": ["<leader>", "w", "l"],
"commands": ["workbench.action.focusRightGroup"],
"silent": true
},
// 垂直水平分隔编辑器
{
"before": ["<leader>", "w", "v"],
"commands": ["workbench.action.splitEditorRight"],
"silent": true
},
{
"before": ["<leader>", "w", "s"],
"commands": ["workbench.action.splitEditorDown"],
"silent": true
},
//================== Buffer ===========================
// vscode 以编辑器呈现 Buffer
// 所有组中关闭编辑器,默认关闭 buffer
{
"before": ["<leader>", "b", "d"],
"commands": ["workbench.action.closeEditorInAllGroups"],
"silent": true
},
// 打开组中下一个编辑器
{
"before": ["<leader>", "b", "l"],
"commands": ["workbench.action.openNextRecentlyUsedEditorInGroup"],
"silent": true
},
// 打开组中上一个编辑器
{
"before": ["<leader>", "b", "h"],
"commands": ["workbench.action.openPreviousRecentlyUsedEditorInGroup"],
"silent": true
},
// 切换只读,选项卡处加锁
{
"before": ["<leader>", "b", "r"],
"commands": [
"workbench.action.files.toggleActiveEditorReadonlyInSession"
],
"silent": true
},
// ============== File ===========================
// 保存文件
{
"before": ["<leader>", "b", "w"],
"commands": ["workbench.action.files.save"],
"silent": true
},
{
"before": ["<leader>", "e"],
"commands": ["workbench.files.action.focusFilesExplorer"],
"silent": true
},
// ============== easymotion =======================
{
"before": ["<leader>", "j", "w"],
"after": ["<leader>", "<leader>", "s"]
},
{
"before": ["<leader>", "j", "l"],
"after": ["<leader>", "<leader>", "<leader>", "b", "d", "j", "k"]
}
],
// ==================== 不同步设置 ==============================
"settingsSync.ignoredSettings": [
// 不同步的设置
],
"settingsSync.ignoredExtensions": [
// 不同步插件
]
}