插件 - 一份配置,离插件机制只有一步之遥


在这里插入图片描述


Pre

插件 - 通过SPI方式实现插件管理 中我们提到了缺点

  • 无法保证唯一实现:在SPI机制中,同一个服务接口可能会有多个提供者实现,而无法明确指定使用哪一个。
  • 依赖于配置文件:配置文件是发现和加载提供者的关键,如果配置文件缺失或错误,将导致无法加载提供者。

在这里插入图片描述

那能改进下吗 ? 来继续分解分解


优化方案

步骤:

  1. A应用定义通用接口,用于定义插件B\C\D需要实现的功能
  2. B,C,D等插件应用各自实现该接口
  3. A应用通过直接引入B/C/D插件应用的依赖(按需)
  4. A应用在运行时动态加载不同的实现类,完成各自的功能扩展

流程图

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当涉及到Vim插件配置时,每个人的喜好和需求可能会有所不同。以下是一个基本的Vim插件配置示例,你可以根据自己的需求进行修改和定制: 1. 安装插件管理器(这里以Vim-Plug为例): ```bash $ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim ``` 2. 在你的`.vimrc`或`init.vim`文件中添加以下配置: ```vim call plug#begin('~/.vim/plugged') " 插件列表 " 例如:插件名称/仓库地址 " 代码补全 Plug 'Valloric/YouCompleteMe' Plug 'SirVer/ultisnips' Plug 'honza/vim-snippets' " 语法高亮 Plug 'sheerun/vim-polyglot' " 文件搜索 Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } Plug 'junegunn/fzf.vim' " 版本控制 Plug 'tpope/vim-fugitive' Plug 'airblade/vim-gitgutter' " 其他插件 call plug#end() " 插件配置 " 代码补全配置 let g:ycm_global_ycm_extra_conf = '~/.vim/plugged/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py' " 文件搜索配置 let g:fzf_layout = { 'down': '~40%' } " 版本控制配置 let g:gitgutter_enabled = 1 ``` 3. 保存并关闭文件后,使用以下命令安装配置插件: ```vim :PlugInstall ``` 这个配置示例中,我们使用了一些常见的插件,并给出了一些简单的配置示例。你可以根据自己的需要添加、删除或修改插件,并根据插件的文档进行更详细的配置。记得将上述配置示例中的插件名称替换为你自己所需的插件。希望这能帮助到你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小工匠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值