一堆自定义C#代码片段,让你开发效率飞涨

SharpBoxes 是一款用于 Visual Studio 的扩展,作者为本人

该扩展旨在提高开发效率。它为开发人员提供了一组日常使用频率较高的代码片段,让你在编写代码时能够更快地插入常用的代码段。通过安装这个扩展,你可以使用快捷键轻松插入一大段代码,而无需手动编写。只需输入几个关键字,即可获得所需的代码,从而大大提高你的工作效率。此外,SharpBoxes 还支持内嵌式和包裹式插入代码,让你在开发过程中更加灵活地使用代码¹。

如果你是一个经常使用 Visual Studio 的开发者,不妨试试 SharpBoxes 扩展,看看它是否能够满足你的需求。你可以在 Visual Studio Marketplace 上找到并安装这个扩展¹。


参考资料及下载链接
¹: SharpBoxes - Visual Studio Marketplace
也可通过直接在VS中搜索下载
在这里插入图片描述

以下为具体介绍

安装完后,第一次启动,一定要以管理员权限启动VS

After installation, start it for the first time, be sure to start VS with administrator privileges.

Also Develop: SharpBoxes-已开源
同人开发:SharpBoxes-已开源
介绍博客:SharpBoxes-已开源

  • 集成了一些常用的方法; 如通用的缓存静态操作类、常用的Wpf的ValueConverters、内置的委托类型、通用的反射加载dll操作类、Wpf的ViewModel、Command、Navigation、Messenger、部分常用UserControls(可绑定的PasswordBox、PlaceHolderTextBox、HighlightTextBlock等),以及Wpf一些常用的后台数据绑定方法 其他是一些通用的扩展方法类

Visual Studio 扩展代码片段

  • Visual Studio 扩展代码片段
    • CSharp代码片段
      • 检查文件是否存在
      • 检查文件夹是否存在包裹
      • 带Index的Foreach
      • 插入文档摘要
      • 快速创建方法
      • 快速创建类
      • 快速创建Int属性
      • 快速创建Double属性
      • 快速创建String属性
      • 快速创建List属性
      • 快速MessageBox
      • 快速创建带TryCatchFinally方法
      • 快速Null检查
      • 快速生成带有消息通知的属性
      • 快速生成ReadLine
      • 快速生成StopWatch
      • 快速生成Student类(带模拟数据)
      • 快速生成结果状态类(通用返回值)
      • 快速生成Task.Run包裹
      • TryCatchFinally包裹
      • 带属性修改回调的依赖属性
      • 带属性修改回调的附加属性
    • Xaml代码片段
      • 快速生成DoubleAnimation
      • 快速生成ItemTemplate
      • 快速生成mscorlib命名空间
      • 快速生成包URI语法
      • 快速生成Resources
      • 快速生成Style

CSharp代码片段

检查文件是否存在

fileexist

if (System.IO.File.Exists(""))
{}

检查文件夹是否存在

direxist

if (System.IO.Directory.Exists(""))
{}

带Index的Foreach

forwithitem

for (int index = 0; index < collection.Count; index++)
{var item = collection[index];
}

插入文档摘要

hddoc

/** Title:* Author:* Date:* Purpose:** Revisions:* 1.*/

快速创建方法

method

public int GoWork(string p)
{}

快速创建类

cc

public class MyClass
{public MyClass(){}
}

快速创建Int属性

pi

public int p { get; set; }

快速创建Double属性

pd

public double p { get; set; }

快速创建String属性

ps

public string p { get; set; }

快速创建List属性

pl

public List<int> p { get; set; }

快速MessageBox

mberror

MessageBox.Show("","Error",MessageBoxButton.OK,MessageBoxImage.Error
);

mbinfo
mbwarn

快速创建带TryCatchFinally方法

methodWithTryCFg

public int GoWork(string p)
{try{}catch (Exception ex){// Exception handling code}finally{// Cleanup code}
}

快速Null检查

nullcheck

if (null == null)
{
}

快速生成带有消息通知的属性

propchanged

private string myProperty;
public string MyProperty
{get{return myProperty;}set{myProperty = value;OnPropertyChanged(myProperty, value);}
}

快速生成ReadLine

cr

快速生成StopWatch

swg

var sw = Stopwatch.StartNew();

快速生成Student类(带模拟数据)

stuclass

public class Student
{public string Name { get; set; }public int Age { get; set; }public string Address { get; set; }public static IEnumerable<Student> FakeManyStudents(int count){var students = new List<Student>();var names = GenerateRandomNumber(count).Select(s => s.ToString()).ToList();var addresses = GenerateRandomNumber(count).Select(s => s.ToString()).ToList();for (int i = 0; i < count; i++){students.Add(new Student{Name = "Student " + names[i],Age = 20 + i,Address = "Address " + addresses[i]});}return students;}private static List<int> GenerateRandomNumber(int count){var rd = new Random(Guid.NewGuid().GetHashCode());var result = new List<int>();for (int i = 0; i < count; i++){var number = rd.Next(1, 20);result.Add(number);}return result;}
}

快速生成结果状态类(通用返回值)

status

[DebuggerStepThrough]
public class Status
{public int Code = 0;public string Message = "运行成功";public bool Result = true;public Status(int code = 0, string message = null, bool result = false){Code = code;Message = message;Result = result;}public Status(string message){Message = message;}public Status(string message, bool result){Message = message;Result = result;}public static Status OkDef = new Status(0, "结果OK", true);public static Status NgDef = new Status(-1, "结果NG", false);public static Status Ng(string message) => new Status(message, false);public static Status Ok(string message) => new Status(message, true);public static implicit operator bool(Status d) => d.Result;public static implicit operator string(Status d) => d.ToString();public override string ToString(){return $"{Code},{Result},{Message}";}
}

快速生成Task.Run包裹

taskg

Task.Run(() =>{});

TryCatchFinally包裹

trycatchfinally

try
{}
catch (Exception ex)
{// Exception handling code}
finally
{// Cleanup code
}

带属性修改回调的依赖属性

propdpn

public string Title
{get { return (string)GetValue(TitleProperty); }set { SetValue(TitleProperty, value); }
}public static readonly DependencyProperty TitleProperty =DependencyProperty.Register("Title", typeof(string), typeof(Test), new PropertyMetadata(string.Empty, TitleChanged));private static void TitleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{if (d is TextBox control){}
}

带属性修改回调的附加属性

propan

public static string GetName(DependencyObject obj)
{return (string)obj.GetValue(NameProperty);
}public static void SetName(DependencyObject obj, string value)
{obj.SetValue(NameProperty, value);
}public static readonly DependencyProperty NameProperty =DependencyProperty.RegisterAttached("Name",typeof(string),typeof(Test),new PropertyMetadata(string.Empty, NameChanged));private static void NameChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{if (d is TextBox control) {}
}

Xaml代码片段

快速生成DoubleAnimation

anidouble

快速生成ItemTemplate

itemtemplate

快速生成mscorlib命名空间

nssys

xmlns:sys="clr-namespace:System;assembly=mscorlib"

快速生成包URI语法

pack

"pack://application:,,,/$TargetAssembly$;component/$Resource$"

快速生成Resources

res

快速生成Style

style

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/675020.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【再探】设计模式—适配器、装饰及外观模式

结构型设计模式是用于设计对象和类之间关系的一组设计模式。一共有7种&#xff1a;适配器模式、装饰器模式、外观模式、桥接模式、组合模式、享元模式及代理模式。 1 适配器模式 需求&#xff1a;在软件维护阶段&#xff0c;已存在的方法与目标接口不匹配&#xff0c;需要个中…

产品需求文档怎么写?超详细的产品需求文档PRD模板来了!

产品需求文档怎么写&#xff1f;如何写一份简洁明了、外行人看了就能秒懂的产品需求文档呢&#xff1f;今天这篇文章&#xff0c;就来和大家分享如何编写一份高质量的产品需求文档 PRD&#xff01; 下图是来自 boardmix 模板社区的「产品需求文档」模板&#xff0c;它给出了一…

区间预测——conformal tights

conformal tights 是一个python包 特征&#xff1a; sklearn元估计器&#xff1a;向任何scikit-learn回归器添加分位数和区间的共形预测 darts预测&#xff1a;向任何scikit-learn回归器添加共形校准的概率预测 保形校准&#xff1a;准确的分位数和可靠的覆盖的区间 相干分…

VS Code中PlatformIO IDE的安装并开发Arduino

VS Code中PlatformIO IDE的安装并开发Arduino VS Code的安装 略 PlatformIO IDE的安装 PlatformIO IDE是是什么 PlatformIO IDE 是一个基于开源的跨平台集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门用于嵌入式系统和物联网&#xff08;IoT&#xff09;开发。…

小白入门:创建一个SpringBoot项目

前言 我们在创建SpringBoot项目时候&#xff0c;会出现不确定和报错的情况很多&#xff0c;大家可以按照我的做法来简单创建一个SpringBoot项目 1.环境配置 下载安装并配置jdk1.8下载apache mavenidea软件 2.开始创建项目 Server URL&#xff1a;初始是start.spring.io,我…

【计算机科学速成课】笔记三——操作系统

文章目录 18.操作系统问题引出——批处理设备驱动程序多任务处理虚拟内存内存保护Unix 18.操作系统 问题引出—— Computers in the 1940s and early 50s ran one program at a time. 1940,1950 年代的电脑&#xff0c;每次只能运行一个程序 A programmer would write one at…

栈数据结构

1,概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈 顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈(push)&#x…

绘画作品3d数字云展厅提升大众的艺术鉴赏和欣赏能力

3D虚拟展厅作为未来艺术的展示途径&#xff0c;正逐渐成为文化创意产业蓬勃发展的重要引擎。这一创新形式不仅打破了传统艺术展览的局限性&#xff0c;更以其独特的魅力吸引着全球观众的目光。 3D虚拟艺术品展厅以其独特的魅力&#xff0c;助力提升大众的艺术鉴赏和欣赏能力。观…

北京车展现场体验商汤DriveAGI自动驾驶大模型展现认知驱动新境界

在2024年北京国际汽车展的舞台上&#xff0c;众多国产车型纷纷亮相&#xff0c;各自展示着独特的魅力。其中&#xff0c;小米SUV7以其精美的外观设计和宽敞的车内空间&#xff0c;吸引了无数目光&#xff0c;成为本届车展上当之无愧的明星。然而&#xff0c;车辆的魅力并不仅限…

Penpad再获 Presto Labs 投资,Scroll 生态持续扩张

​Penpad 是 Scroll 生态的 LaunchPad 平台&#xff0c;其整计划像收益聚合器以及 RWA 等功能于一体的综合性 Web3 平台拓展&#xff0c;该平台在近期频获资本市场关注&#xff0c;并获得了多个知名投资者/投资机构的支持。 截止到本文发布前&#xff0c;Penpad 已经获得了包括…

截图工具Snipaste:不仅仅是截图,更是效率的提升

在数字时代&#xff0c;截图工具已成为我们日常工作和生活中不可或缺的一部分。无论是用于工作汇报、学习笔记&#xff0c;还是日常沟通&#xff0c;一款好用的截图工具都能大大提升我们的效率。今天&#xff0c;我要向大家推荐一款功能强大且易于使用的截图软件——Snipaste。…

Flutter实战记录-协作开发遇到的问题

一.前言 Android项目使用了混合架构&#xff0c;部分模块使用Flutter进行开发。在电脑A上开发的项目提交到git仓库&#xff0c;电脑B拉取后进行操作&#xff0c;遇到两个问题&#xff0c;特此做一下记录&#xff1b; 二.问题A Settings file ‘D:\xxx\settings.gradle’ line…