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

文章目录

    完了,我发现一个插件,可以完美让我从 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 终究还是要大量依赖鼠标操作,我感到很不适应,容易分心

    vscode languages id

    常见编程语言的 vscode id:

    https://code.visualstudio.com/docs/languages/identifiers

    但是,TypeScript JSX 始终不生效。。。

    参考

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

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式