在建议 GetComponent<>() 进行变量赋值时如何推断类型?
How to infer type when suggesting GetComponent<>() for variable assignment?
这是我写的(很多):
Rigidbody rb = G
现在我希望 ReSharper Code Completion 给我这样的建议:
GetComponent<Rigidbody>()
但事实并非如此。它建议 GetComponent<>()
并让我自己填写类型。我真正想要的是这样的:
SomeComponent foo = GetComponent<SomeComponent>();
ReSharper 应该具有在变量即将被分配时进行此类型推断所需的所有信息。
有没有办法手动将这种建议添加到 ReSharper,从而推断出正确的类型?我试过 Live Templates,但似乎没有办法访问我要分配的变量类型。
这其实很正常,<> 就像一个 () 但不同,这就像问为什么 ReSharper 不填写参数,仅此而已。
我找到了解决方案here
您可以使用 macros for Live Template variables 来推断 ReSharper 在变量点处猜测的类型。
- 打开 Rider 设置 [Ctrl+Alt+S] 并导航至编辑器 > 实时模板 > C# 或 Unity(以您喜欢的新模板位置为准)
- 使用您喜欢的快捷方式(在我的例子中
gc
)和以下内容创建一个模板:GetComponent<$TYPE$>();$END$
- 单击
Availability
并添加 Unity C# file
和 C# 2.0+ expressions
的范围(这只是定义 ReSharper 将建议快捷方式的位置)
- 点击右下角的
Edit Variables
- 将
TYPE
的宏改为Guess type expected at this point
- 单击
Save
并使用如下模板:
感谢安德鲁提出这个解决方案。如果您想在 Rider 中默认看到此功能,upvote it here
这是我写的(很多):
Rigidbody rb = G
现在我希望 ReSharper Code Completion 给我这样的建议:
GetComponent<Rigidbody>()
但事实并非如此。它建议 GetComponent<>()
并让我自己填写类型。我真正想要的是这样的:
SomeComponent foo = GetComponent<SomeComponent>();
ReSharper 应该具有在变量即将被分配时进行此类型推断所需的所有信息。
有没有办法手动将这种建议添加到 ReSharper,从而推断出正确的类型?我试过 Live Templates,但似乎没有办法访问我要分配的变量类型。
这其实很正常,<> 就像一个 () 但不同,这就像问为什么 ReSharper 不填写参数,仅此而已。
我找到了解决方案here
您可以使用 macros for Live Template variables 来推断 ReSharper 在变量点处猜测的类型。
- 打开 Rider 设置 [Ctrl+Alt+S] 并导航至编辑器 > 实时模板 > C# 或 Unity(以您喜欢的新模板位置为准)
- 使用您喜欢的快捷方式(在我的例子中
gc
)和以下内容创建一个模板:GetComponent<$TYPE$>();$END$
- 单击
Availability
并添加Unity C# file
和C# 2.0+ expressions
的范围(这只是定义 ReSharper 将建议快捷方式的位置) - 点击右下角的
Edit Variables
- 将
TYPE
的宏改为Guess type expected at this point
- 单击
Save
并使用如下模板:
感谢安德鲁提出这个解决方案。如果您想在 Rider 中默认看到此功能,upvote it here