【发布时间】:2018-02-01 19:37:33
【问题描述】:
如果这是很容易搜索的内容,我深表歉意,但我不确定正确的搜索词是什么。
我现在正在使用 Visual Studio,主要用于 Unity 开发。在创建新脚本时,我经常声明一些私有成员变量,如下所示:
private Rigidbody _rigidbody;
private SomeOtherComponent _myComponent;
为了初始化这些变量,我需要在一个名为“Start”的函数中添加一个 GetComponent 调用,如下所示:
void Start(){
_rigidbody = GetComponent<Rigidbody>();
_myComponent = GetComponent<SomeOtherComponent>();
}
现在,我找到了一个 Visual Studio sn-p 来快速键入“GetComponent”部分,这很好,但我正在寻找一种在 Start 函数中自动生成代码行的方法。在理想的世界里,我可以输入
private Rigidbody _rigidbody;
然后我可以按一些组合键,它会自动添加
_rigidbody = GetComponent<Rigidbody>();
到 Start 函数。
片段只能让我走到一半。我需要做什么来为 Visual Studio 创建这种类型的扩展?这是一件很难完成的事情吗?
【问题讨论】:
-
ReSharper 有这个功能,但它不是免费的。
-
还有snippets。
-
为什么没有一个 sn-p 用于声明和一个 sn-p 用于初始化?
-
Snippets 让我可以更快地输入 GetComponent 行,当然,但它们也只能让我走到一半。我仍然必须声明我的成员变量,然后进入 Start 函数,然后输入我的 sn-p。我正在尝试跳过这一步。
-
您可以查看 Roslyn 分析器和代码修复 (github.com/dotnet/roslyn/wiki/…)。 Analyzer 允许您检测要初始化的私有字段并向开发人员弹出提示。提示调用的代码修复可以生成初始化代码,尽管它有其学习曲线并且需要一些努力。如果您对这个方向感兴趣,请告诉我,我会详细说明。
标签: c# visual-studio unity3d