<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[starrycraft的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/starrycraft</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; starrycraft]]></copyright><item><title><![CDATA[Visual Studio 扩展入门（六）菜单篇 下]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/118757153</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/118757153</guid><author>starrycraft</author><pubDate>Thu, 15 Jul 2021 13:13:55 +0800</pubDate><description><![CDATA[IDE在对自定义菜单的扩展上，还提供了更方便和人性化的操作，如：绑定快捷键、为命令添加自定义图标、本地化语言。

一、示例一：绑定快捷键

验证键盘快捷方式的可用性

在工具&gt;选项&gt;环境&gt;键盘。
确保将使用新快捷方式设置为全局。
光标选中“按快捷键”输入框，按下要使用的键盘快捷键。若快捷方式已被占用，则当前使用的快捷方式框将显示快捷方式当前调用的命令。
尝试不同的键组合，直到找到未映射的组合。

1、创建菜单命令

创建 VSIX 项目模板，并命名为KeyBindingButton。
通过]]></description><category></category></item><item><title><![CDATA[Visual Studio 扩展入门（五）菜单篇 中]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/118757102</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/118757102</guid><author>starrycraft</author><pubDate>Thu, 15 Jul 2021 13:10:31 +0800</pubDate><description><![CDATA[&lt;Group&gt;（命令组）是始终在菜单或工具栏上一起显示的命令的集合，这个集合通常包含按钮，但也可以包含其他菜单或组合框。 可以通过在 .vsct 文件的 &lt;CommandPlacements &gt;元素中将命令组分配到不同的父菜单来复用该命令组。在IDE中，通过复用命令按钮可以提高开发效率，很多地方都实现了复用命令按钮的操作，如打开项目属性，可以通过以下两处的复用命令"项目属性"按钮：


一、示例一：通过CommandPlacements 复用命令按钮
1、创建菜单命令

创建 VSI]]></description><category></category></item><item><title><![CDATA[Visual Studio 扩展入门（四）菜单篇 上]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/118756105</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/118756105</guid><author>starrycraft</author><pubDate>Thu, 15 Jul 2021 11:44:56 +0800</pubDate><description><![CDATA[IDE 菜单栏包含 " 文件"、" 编辑"、" 视图"、" 窗口" 和 " 帮助" 等菜单类别。用户扩展Visual Studio的菜单建议参考官方准则说明：Visual Studio 的菜单和命令。扩展的菜单在项目的 .vsct 文件中声明。

从 Visual Studio 2019 开始，由扩展提供的顶级菜单放置在 " 扩展 " 菜单下。


一、示例一：在 IDE 菜单栏上创建新菜单
1、创建菜单命令

创建 VSIX 项目模板，并命名为TopLevelMenu。
通过" Visual c # 项&]]></description><category></category></item><item><title><![CDATA[Visual Studio 扩展入门（三）HelloWorld 下篇]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/118756020</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/118756020</guid><author>starrycraft</author><pubDate>Thu, 15 Jul 2021 11:38:44 +0800</pubDate><description><![CDATA[本文通过实现Visual Studio启动记事本程序，来里了解Command模板的结构:

一、示例：实现“工具”菜单添加启动记事本程序的按钮
1、创建菜单命令

创建 VSIX 项目模板，并命名为FirstMenuCommand。
通过" Visual c # 项&gt; Extensibility(扩展性) &gt; Command(命令)"，添加自定义命令 FirstCommand.cs。

此时解决方案目录如下：

2、修改FirstCommand .cs

添加命名空间。

using Syste]]></description><category></category></item><item><title><![CDATA[Visual Studio 扩展入门（二）HelloWorld 上篇]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/118755835</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/118755835</guid><author>starrycraft</author><pubDate>Thu, 15 Jul 2021 11:31:29 +0800</pubDate><description><![CDATA[通过开始第一个程序，了解一个VSPackage开发过程：

一、编写自己的第一个扩展：Hello World
1、新建VSIX项目，并命名为SayHelloWorld![image.png](https://img-blog.csdnimg.cn/img_convert/2b679789ae9465910bc0af40390c4e4a.png#align=left&amp;display=inline&amp;height=344&amp;margin=[object Object]&amp;name=im]]></description><category></category></item><item><title><![CDATA[Visual Studio 扩展入门（一）前言]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/118752413</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/118752413</guid><author>starrycraft</author><pubDate>Thu, 15 Jul 2021 11:28:54 +0800</pubDate><description><![CDATA[Visual Studio 扩展入门（一）前言在开始整Visual Studio扩展，你可能会遇到以下问题：问题：安装 Visual Studio SDK?问题：添加引用找不到 Microsoft.VisualStudio.*****的命名空间传送门：
为什么写这个系列博客？是因为之前没有接触到Visual Studio扩展，边学边纪录，有错请指出。博客的教程主要面向小白或对Visual Studio 扩展有兴趣的人，并附官方相关学习资料。
官方博客入门推荐：https://devblogs.microso]]></description><category></category></item><item><title><![CDATA[同步上下文(SynchronizationContext)]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/113658608</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/113658608</guid><author>starrycraft</author><pubDate>Fri, 05 Feb 2021 11:08:21 +0800</pubDate><description><![CDATA[文章目录前言一、简述1、概念2、同步上下文的发展1、原始多线程的环境2、ISynchronizeInvoke 的诞生3、SynchronizationContext 的诞生二、同步上下文的实现1、WinForm 的同步上下文2、WPF的同步上下文3、默认同步上下文4、ASPNET同步上下文5、使用上下文捕获和执行的问题6、有关同步上下文实现的说明三、AsyncOperationManager和AsyncOperation四、同步上下文的库支持示例1、WCF2、WF3、任务并行库(TPL)4、Reactive]]></description><category></category></item><item><title><![CDATA[使用反射捕捉到TargetInvocationException异常]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/132991741</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/132991741</guid><author>starrycraft</author><pubDate>Fri, 29 Jan 2021 10:49:00 +0800</pubDate><description><![CDATA[环境：Unity2017、.NET4.6
问题出现描述：自定义了JSON格式转换异常类，通过反射Invoke反射方法，抛出异常时，捕捉的异常是System.Reflection.TargetInvocationException而不是JSON格式转换异常。
源码简化如下:
/// &lt;summary&gt;
/// JSON格式转换类
/// &lt;/summary&gt;
public ...]]></description><category></category></item><item><title><![CDATA[反射方法自定义异常无法捕捉到]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/113367278</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/113367278</guid><author>starrycraft</author><pubDate>Fri, 29 Jan 2021 10:48:30 +0800</pubDate><description><![CDATA[环境：Unity2017、.NET4.6
问题出现描述：自定义了JSON格式转换异常类，通过反射Invoke反射方法，抛出异常时，捕捉的异常是System.Reflection.TargetInvocationException而不是JSON格式转换异常。
源码简化如下:
/// &lt;summary&gt;
/// JSON格式转换类
/// &lt;/summary&gt;
public static class JSonConvert
{
    public static void Convert]]></description><category></category></item><item><title><![CDATA[使用Newtonsoft.Json进行Json与XML相互转换]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/109101081</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/109101081</guid><author>starrycraft</author><pubDate>Fri, 16 Oct 2020 11:22:09 +0800</pubDate><description><![CDATA[XML的解析得考虑子节点父节点，让人头昏眼花，而JSON的解析好像没啥难度。今天突然发现Newtonsoft.Json中有关于Json和XML互转的方法，所以记录一下。
一、关于Newtonsoft.Json
Newtonsoft.Json(Json.Net)是一款.NET中开源的Json序列化和反序列化类库。
Json.Net是一个读写Json效率比较高的.Net框架，.Json.Net 使得在.Net环境下使用Json更加简单。通过Linq To JSON可以快速的读写Json，通过JsonSerial]]></description><category></category></item><item><title><![CDATA[VS2017使用inet_ntoa()产生错误的解决方法]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/133071192</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/133071192</guid><author>starrycraft</author><pubDate>Tue, 15 Sep 2020 22:19:00 +0800</pubDate><description><![CDATA[在新版本VS(2013以上)使用C++进行编码开发，使用inet_ntoa()时，会出现报错：
这个错误会在编译时出现：
error C4996: ‘inet_ntoa’: Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnin...]]></description><category></category></item><item><title><![CDATA[ET框架：如何运行ET-Demo]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/132991719</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/132991719</guid><author>starrycraft</author><pubDate>Fri, 04 Sep 2020 22:17:00 +0800</pubDate><description><![CDATA[一、配置运行环境：
以visual studio编译器为例。
Visual Studio使用VS2017以上版本，在Visual Studio安装时，勾选安装以下内容：
a. .net 桌面开发
b. visual studio tools for unity
c. 去net core 官网下载安装 .net core 2.1
需要注意：
1.若使用VS2017，Visual Studio...]]></description><category></category></item><item><title><![CDATA[ProtoBuf入门]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/132991739</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/132991739</guid><author>starrycraft</author><pubDate>Fri, 04 Sep 2020 17:15:00 +0800</pubDate><description><![CDATA[一、什么是ProtoBuf
Protobuf是一种与平台无关，语言无关、可扩展且轻便高效序列化数据结构的协议，可用于网络通讯和数据存储。Protocol Buffers 是一种灵活，高效，自动化机制的结构数据序列化方法－可类比 XML，但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。
Protobuf通过定义数据的结构，然后使用特殊生成的源代码轻松的在各种数据流中使...]]></description><category></category></item><item><title><![CDATA[AssetBundle入门]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/133071187</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/133071187</guid><author>starrycraft</author><pubDate>Fri, 04 Sep 2020 00:48:00 +0800</pubDate><description><![CDATA[一、什么是AssetBundle
AssetBundle是一个压缩包包含模型、贴图、预制体、声音、甚至整个场景，可以在游戏运行的时候被加载。
二、AssetBundle有什么作用
为了通过网络高效传输，可以根据用例要求(LZMA和LZ4)使用内置算法的选择来压缩AssetBundle。减小初始安装包的大小，加载针对最终用户平台优化的资源以及减轻运行时内存压力。
说白了，就是减小Unity发布到平...]]></description><category></category></item><item><title><![CDATA[UML图写法]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/132991730</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/132991730</guid><author>starrycraft</author><pubDate>Thu, 03 Sep 2020 22:32:00 +0800</pubDate><description><![CDATA[UML图写法
一、类(Class)
类分三层：
第一层：类名，抽象类用斜体显示
第二层：类特性，通常为字段和属性
第三层：类的操作，通常为方法或行为
符号+ 表示修饰符public
符号- 表示修饰符 private
符号# 表示修饰符 protected
动物抽象类表示如下：

二、接口(interface)
两种表示方法：矩形表示法和棒棒糖表示法
矩形表示法：
顶端 ：《interface...]]></description><category></category></item><item><title><![CDATA[Visual Studio小技巧-引用项目外部的类]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/133038432</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/133038432</guid><author>starrycraft</author><pubDate>Thu, 03 Sep 2020 14:20:00 +0800</pubDate><description><![CDATA[通过链接引用外部代码
在Rrider中使用Add Existing Item。
在Visual Studio中添加现有项，选中外部文件，在添加按钮处下拉选择添加为链接。

在自己项目中修改链接的脚本会导致外部脚本改变。
...]]></description><category></category></item><item><title><![CDATA[UnityECS（一）UnityECS学习资料]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/132991722</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/132991722</guid><author>starrycraft</author><pubDate>Fri, 28 Aug 2020 13:25:00 +0800</pubDate><description><![CDATA[搜集的UnityECS入门学习资料
强烈推荐：

官方文档资料地址：https://docs.unity3d.com/Packages/com.unity.entities@0.2/api/Unity.Profiling.html
Unity官方B站，宣雨松大大讲解DOTS：https://www.bilibili.com/video/BV18J411t7G8?t=2267
Unity官方ECS...]]></description><category></category></item><item><title><![CDATA[关于如何利用MySQL Workbench导入Excel表格]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/132989523</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/132989523</guid><author>starrycraft</author><pubDate>Sat, 07 Apr 2018 18:21:00 +0800</pubDate><description><![CDATA[两款软件的概念，来自度娘，了解一下：
MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQL Workbench设计和创建新的数据库图示，建立数据库文档，以及进行复杂的MySQL 迁移。
Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的...]]></description><category></category></item><item><title><![CDATA[SublimeText3插件安装（未完更新）]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/133114211</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/133114211</guid><author>starrycraft</author><pubDate>Sat, 07 Apr 2018 16:45:00 +0800</pubDate><description><![CDATA[1.安装Package Control(插件管理包)
Package Control为插件管理包，所以我们首先要安装它。有了它，我们就可以很方便的浏览、安装和卸载Sublime Text中的插件。

import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_...]]></description><category></category></item><item><title><![CDATA[Unity中Animator的2DSprite动画控制与使用]]></title><link>https://blog.youkuaiyun.com/starrycraft/article/details/132989520</link><guid>https://blog.youkuaiyun.com/starrycraft/article/details/132989520</guid><author>starrycraft</author><pubDate>Sat, 24 Mar 2018 14:47:00 +0800</pubDate><description><![CDATA[关于Unity动画系统几个名词概念，需要了解一下：
Animator：动画控制器，控制Mecanim动画系统的接口。
Animation：animation组件用于播放动画
AnimationClip：动画剪辑片段，储存基于关键帧的动画，是用于Animation来播放动画。
Animation编辑面板：此面板可以进行动画的调整，crtl+6打开animation编辑面板，默认是不能进行任何操作的...]]></description><category></category></item></channel></rss>