首页 > 其他分享 >发布一个Visual Studio 2022 插件,可以自动完成构造函数依赖注入代码

发布一个Visual Studio 2022 插件,可以自动完成构造函数依赖注入代码

时间:2023-06-26 10:22:13浏览次数:36  
标签:插件 serviceProvider TestClass Visual ILogger logger public 构造函数

赖注入(DI)在开发中既是常见的也是必需的技术。它帮助我们优化了代码结构,使得应用更加灵活、易于扩展,同时也降低了各个模块之间的耦合度,更容易进行单元测试,提高了编码效率和质量。不过,手动注入依赖项也可能会成为我们开发过程中的瓶颈。

通常情况下,当我们需要注入大量依赖对象时,我们不得不在构造函数中写大量的参数注入,这不仅会让构造函数变得形式化、冗长,还可能导致人误(手误)或各种错误。为了让依赖注入的流程更为智能和高效,我将自己的经验结合技术要求,开发了一个Visual Studio的插件,简单易用、解决了许多构造函数参数申明的问题。

该插件能够快速将构造函数参数,赋给类的局部私有变量,提升了编写依赖注入(DI)的效率,简化了代码的编写过程。开发人员只需要将光标放置于构造函数内部,按下快捷键即可完成参数赋值和定义私有变量。

示例:原始代码

    public class TestClass
    {
        public TestClass(ILogger<TestClass> logger , IServiceProvider serviceProvider)
        {

        }
    }

把光标定在class内部,按下 ALT + 0 快捷键,自动变成下面这样:

    public class TestClass
    {
        ILogger<TestClass> _logger;
        IServiceProvider _serviceProvider;
        public TestClass(ILogger<TestClass> logger, IServiceProvider serviceProvider)
        {
            this._logger = logger;
            this._serviceProvider = serviceProvider;
        }
    }

如果是按下 ALT + 9 快捷键,私有变量会采用readonly修饰:

    public class TestClass
    {
        readonly ILogger<TestClass> _logger;
        readonly IServiceProvider _serviceProvider;
        public TestClass(ILogger<TestClass> logger, IServiceProvider serviceProvider)
        {
            this._logger = logger;
            this._serviceProvider = serviceProvider;
        }
    }

安装方法:

在vs2022的【扩展】-》【管理扩展】,直接搜索安装 DependencyInjectionVsix2022

源码:

https://e.coding.net/IWay2018/public/DependencyInjectionVsix2022.git

标签:插件,serviceProvider,TestClass,Visual,ILogger,logger,public,构造函数
From: https://www.cnblogs.com/IWings/p/17504667.html

相关文章

  • docker 安装 jenkins 以及安装插件出现的问题解决方式
    使用docker-composeversion:"3.9"services:jenkins:image:jenkins/jenkins:lts-jdk11ports:-"8080:8080"-"5000:5000"volumes:-/root/software/jenkins/jenkins-data:/var/jenkins_homeenvir......
  • PostgreSQL插件那么多,怎样管理最高效?
    云服务环境下,如何让客户更方便地在各个PostgreSQL的版本下安装插件和扩展功能,成为云服务厂商的一个挑战。华为云RDSforPostgreSQL通过插件管理功能,很好地解决了PostgreSQL版本与插件耦合的问题,帮助用户更直观、更快速地安装管理数据库插件。关于PostgreSQL插件众所周知,PostgreSQL......
  • 【源码阅读】90. 插件
     系统相关类PluginLoader:插件的加载类,封装了插件信息、配置加载、安装过程。包含如下组件:● PluginInfo:含有插件的基本信息● Plugin接口:插件初始化接口● AuditPlugin接口:包含审计类型插件关联的操作 初始化PluginMgr.init初始化时将构建内置插件AuditLogBuilde......
  • PS滤镜插件套装 Nik Collection 6 中文版下载
    NikCollection是由Google开发的一套Photoshop插件,包含了7个不同的插件,它们分别是:AnalogEfexPro:模拟胶片摄影风格,包含了多种特效和滤镜。ColorEfexPro:提供了超过50种颜色调整和增强工具,可以让你轻松地进行颜色校正、对比度调整等操作。SilverEfexPro:专门用于黑白照片处理......
  • Visual Components数字化工厂解决方案 衡祖仿真
    使用VC软件设备模拟能快速的依据顾客的需求建立出生产线并进行分析,进而为客戶提供有效的设备解决方案。针对不同的使用者VisualComponents数字化工厂仿真软件,可通过电子邮件在线上展示复杂的设计流程给不同的客户和设备商,快速的取得客戶信任,在竞争对手中脱颖而出,助力签单。一......
  • ps插件Camera Raw新增功能让您的智能修图更简单~
    最新更新的ps2023.24.6中备受期待的AI填充功能真是强大到没朋友,今天介绍的“老伙计”插件也是热门选手——CameraRaw让您的智能修图更加锦上添花,今天来一起看看有哪些新功能吧~ Photoshop2023Macv24.6betaCameraRaw15formac(psRaw增效工具)中文版新功能如下:使用......
  • 给自己的博客上添加个flash宠物插件
    前言最近在一些博主的博客上看到一些小宠物的挂件,很有趣,访客到了网站后可以耍耍小宠物,增加网站的趣味性,在功能强大的博客系统上看到有这样的小宠物挂件还是蛮有趣的。 正文下面就简单介绍下如何在博客园的博客中添加这些可爱的flash动物插件。1.由于这些可爱的flash小宠物......
  • Maven的maven-resources-plugin插件介绍
    Maven的maven-resources-plugin插件是一个用于处理资源文件的插件。它在Maven构建过程中负责复制项目中的资源文件到生成的目标目录,使得这些资源文件可以被应用程序访问和使用。该插件具有以下特点和功能:复制资源文件:maven-resources-plugin插件会将项目中的资源文件(如......
  • spring-boot-maven-plugin插件详解
    一、为什么SpringBoot项目自带这个插件当我们在SpringBoot官方下载一个脚手架时,会发现pom.xml会自带spring-boot-maven-plugin插件<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2......
  • [java学习] Spring的分页插件的使用
    概述:SSM集成常会使用到分页,Spring中提供了方便实用的分页插件  第一步:在Mybatis配置文件(SqlMapConfig.xml)中配置插件组件:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://myb......