前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity2D开发入门-自定义代码片段

Unity2D开发入门-自定义代码片段

作者头像
码客说
发布2023-07-26 14:28:20
2410
发布2023-07-26 14:28:20
举报
文章被收录于专栏:码客码客

前言

在任意地方创建一个文件夹,最好是你不去经常移动的地方,文件夹是用来存放你自定义的代码块的文件夹。

我就创建了一个名称:csharp_snippet 的文件夹。

把所有自定义的代码段都放在该文件夹中。

工具–>代码段管理器 –>选择Visual C#语言 –>选择下方的添加 –>浏览到你自定义的那个放代码块的文件夹就OK啦。

代码段不提示

工具 => 选项 => 文本编辑器 => C# => 常规

勾选自动列出成员即可

image-20230724171139466
image-20230724171139466

自定义代码段

新建代码块文件zprop.snippet

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>zprop</Title>
      <Shortcut>zprop</Shortcut>
      <Description>自动实现的属性的代码片段</Description>
      <Author>剑行者</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
        <Literal>
          <ID>type</ID>
          <ToolTip>属性类型</ToolTip>
          <Default>int</Default>
        </Literal>
        <Literal>
          <ID>property</ID>
          <ToolTip>属性名</ToolTip>
          <Default>MyProperty</Default>
        </Literal>
      </Declarations>
      <Code Language="csharp">
        <![CDATA[
         $type$ _$property$;
         public $type$ $property$
          {
            get { return _$property$; }
            set { _$property$ = value; OnPropertyChanged("$property$"); }
          }
        $end$]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

保存啦,然后依然是去

重启开发工具。

此时要我在项目中打出zprop按两次Tab 那我的数据访问层的代码就全部出来啦,当然还要添加一些引用就可以啦

Unity开发自定义代码段

zz_unity_awake.snippet

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Awake</Title>
      <Shortcut>zz_unity_awake</Shortcut>
      <Description>Unity生命周期方法</Description>
      <Author>码客说</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Code Language="csharp">
        <![CDATA[
          void Awake()
          {
          }
        ]]>
			</Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

zz_unity_start.snippet

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Start</Title>
      <Shortcut>zz_unity_start</Shortcut>
      <Description>Unity生命周期方法</Description>
      <Author>码客说</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
      </Declarations>
      <Code Language="csharp">
        <![CDATA[
          void Start()
          {
          }
        ]]>
			</Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

zz_unity_update.snippet

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Update</Title>
      <Shortcut>zz_unity_update</Shortcut>
      <Description>Unity生命周期方法</Description>
      <Author>码客说</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
      </Declarations>
      <Code Language="csharp">
        <![CDATA[
          void Update()
          {
          }
        ]]>
			</Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

zz_unity_fixedupdate.snippet

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>FixedUpdate</Title>
      <Shortcut>zz_unity_fixedupdate</Shortcut>
      <Description>Unity生命周期方法</Description>
      <Author>码客说</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Code Language="csharp">
        <![CDATA[
          void FixedUpdate()
          {
          }
        ]]>
			</Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

zz_unity_lateupdate.snippet

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>LateUpdate</Title>
      <Shortcut>zz_unity_lateupdate</Shortcut>
      <Description>Unity生命周期方法</Description>
      <Author>码客说</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Code Language="csharp">
        <![CDATA[
          void LateUpdate()
          {
          }
        ]]>
			</Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

zz_unity_onenable.snippet

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>OnEnable</Title>
      <Shortcut>zz_unity_onenable</Shortcut>
      <Description>Unity生命周期方法</Description>
      <Author>码客说</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
      </Declarations>
      <Code Language="csharp">
        <![CDATA[
          void OnEnable()
          {
          }
        ]]>
			</Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

zz_unity_ondisable.snippet

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>OnDisable</Title>
      <Shortcut>zz_unity_ondisable</Shortcut>
      <Description>Unity生命周期方法</Description>
      <Author>码客说</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
      </Declarations>
      <Code Language="csharp">
        <![CDATA[
          void OnDisable()
          {
          }
        ]]>
			</Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

zz_unity_ondestroy.snippet

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>OnDestroy</Title>
      <Shortcut>zz_unity_ondestroy</Shortcut>
      <Description>Unity生命周期方法</Description>
      <Author>码客说</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
      </Declarations>
      <Code Language="csharp">
        <![CDATA[
          void OnDestroy()
          {
          }
        ]]>
			</Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

ReSharper自定义代码段

安装ReSharper插件后,所有自定义的代码段都失效了,是因为

安装ReSharper插件后,它会自动导入代码段,但是后来的代码段是不会被导入的,只能我们自己添加。

我们可以找到

扩展 > Resharper > Tool > Templates Explor

选择语言 新建

image-20230724163252432
image-20230724163252432

内置配置

我们先打开prop的配置

这个相比C#的创建,简单多了

所有输入的string都会定义一个被替换的变量

还有特殊的变量END,变量作用在用户写完就是跳到END位置。

Unity代码段

Awake

zz_unity_awake

代码语言:javascript
复制
void Awake()
{
	$END$
}

这样当我们生成代码后,光标就会自动在大括号内。

image-20230724165332189
image-20230724165332189

Start

zz_unity_start

代码语言:javascript
复制
void Start()
{
	$END$
}

Update

zz_unity_update

代码语言:javascript
复制
void Update()
{
	$END$
}

FixedUpdate

zz_unity_fixedupdate

代码语言:javascript
复制
void FixedUpdate()
{
	$END$
}

LateUpdate

zz_unity_lateupdate

代码语言:javascript
复制
void LateUpdate()
{
	$END$
}

OnEnable

zz_unity_onenable

代码语言:javascript
复制
void OnEnable()
{
	$END$
}

OnDisable

zz_unity_ondisable

代码语言:javascript
复制
void OnDisable()
{
	$END$
}

OnDestroy

zz_unity_ondestroy

代码语言:javascript
复制
void OnDestroy()
{
	$END$
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 代码段不提示
  • 自定义代码段
  • Unity开发自定义代码段
    • zz_unity_awake.snippet
      • zz_unity_start.snippet
        • zz_unity_update.snippet
          • zz_unity_fixedupdate.snippet
            • zz_unity_lateupdate.snippet
              • zz_unity_onenable.snippet
                • zz_unity_ondisable.snippet
                  • zz_unity_ondestroy.snippet
                  • ReSharper自定义代码段
                    • 内置配置
                      • Unity代码段
                        • Awake
                        • Start
                        • Update
                        • FixedUpdate
                        • LateUpdate
                        • OnEnable
                        • OnDisable
                        • OnDestroy
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档