VS Code Snippet 插件 HyperSnips,完美替代 VIM UltiSnips

更新日期: 2023-09-16 阅读次数: 661 字数: 520 分类: Vim

完了,我发现一个插件,可以完美让我从 vim 切换到 vs code ...

UltiSnips 是我唯一留恋的一个 VIM 插件,但是当我发现 VS Code 的 HyperSnips 插件之后,我感觉完全使用 VS Code 作为日常开发环境了。

HyperSnips

HyperSnips is a snippet engine for vscode heavily inspired by vim's UltiSnips.

VS Code HyperSnips 相对 VIM UltiSnips 的优势

  • 用 JS 来开发扩展功能,挺方便,省去了安装配置 Python 的麻烦
  • 最近 WSL 下 Python 的 CPU 占用飙高,特别是在编辑 YML 文件格式时,经常卡死,或者1分钟没响应,看起来是 UltiSnips 导致的

指定配置文件地址

打开 HyperSnips 的插件配置,增加:

"hsnips.hsnipsPath": "D:\\work\\vim-zhongwei-snippets\\HyperSnips",

注意,Windows 下要用双反斜杠进行转义。

markdown / yaml 文件不生效问题

增加 quickSuggestions 配置,因为默认 yaml / markdown 的 strings 配置是关闭的。

{
    "workbench.colorTheme": "Default Dark Modern",
    "hsnips.hsnipsPath": "D:\\work\\vim-zhongwei-snippets\\HyperSnips",
    "editor.quickSuggestions": {
        "strings": "on"
    },
    "[markdown]": {
        "editor.quickSuggestions": {
            "other": true,
            "comments": true,
            "strings": true
        }
    }
}

vs code quickSuggestions 的作用

在 Visual Studio Code 中,editor.quickSuggestions 是一个设置选项,用于控制编辑器在输入期间是否提供快速建议(Quick Suggestions)。快速建议是指在您输入代码时,编辑器会自动显示可能的补全选项、方法、属性等。

该设置可以具有以下几个值:

  • true:启用快速建议。编辑器将在输入期间自动显示建议列表。
  • false:禁用快速建议。编辑器不会自动显示建议列表。
  • delayed:启用延迟的快速建议。编辑器会在输入停顿一段时间后显示建议列表。

后续

然而,用了两天之后,我感觉还是不适应,最终还是回到了 VIM / NeoVIM 的怀抱:

  • HyperSnips 还是不够完善,比如不支持一种语言,多个文件,看了一下代码确实不支持。这种插件市场里的感觉改起来也不方便
  • 不知道是 VSCode 的问题,还是 HyperSnips 的问题,经常遇到无法提示的问题
  • VSCode 不能像 Vim 一样方便的 ctrl N 基于单词补全,不同类型文件差异很大,不确定哪里定位
  • VSCode 终究还是要大量依赖鼠标操作,我感到很不适应,容易分心

参考

  • https://marketplace.visualstudio.com/items?itemName=draivin.hsnips
  • https://github.com/draivin/hsnips
  • https://www.cnblogs.com/yf-zhao/p/15699500.html

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式