如何让Visual Studio使用系统类型(Int32)而不是内置别名(int)生成代码

Ant*_*ean 8 code-generation coding-style visual-studio

我可以让Visual Studio将内置别名转换为系统类型吗?例如,如果我定义以下接口

public interface IExample
{
    Int32 DoWork(String input);
}
Run Code Online (Sandbox Code Playgroud)

并使用VS自动生成界面,我得到了内置类型.

public class Demo : IExample
{
    public int DoWork(string input) { }
}
Run Code Online (Sandbox Code Playgroud)

我希望那些自动更改为系统类型

public class Demo : IExample
{
    public Int32 DoWork(String input) { }
}
Run Code Online (Sandbox Code Playgroud)

我不是在寻找一个完整的可安装解决方案,只是一个起点.我可以在VS中编写一个连接文本完成或保存的脚本吗?我应该编写一个具有项目上下文菜单项的加载项 - "将别名转换为系统类型"吗?


注意:我更喜欢系统类型,因为它们像其他类型一样由VS格式化.内置别名的格式与关键字类似.此外,它是我目前工作的编码风格指南.

更新:从MS可以清楚地看出,现有的VS代码生成将始终生成内置别名.

Sco*_*man 1

内置别名的格式类似于关键字,因为它们关键字。编译器为您执行从语言数据类型关键字到基础 CLR 类型的转换。

Visual Studio 中没有任何内容可以自动为您执行此转换,因此您需要编写自己的实用程序来执行此操作。有几种不同的方法可以做到这一点 - 你可以编写一个宏或一个 VS 插件 - 但(恕我直言)它们都不是微不足道的编写和确保正确性。

您声明这既是个人喜好也是编码风格要求。我认为格式问题似乎是错误的。通常,使用语言别名而不是 CLR 类型更容易/更干净/更受欢迎。除了文本编辑器中的语法着色之外,两者之间绝对没有区别,并且实际上没有理由为您的类型使用 CLR 名称。编码风格要求中强制使用 CLR 类型而不是语言别名的原因(如果有)是什么?

  • 我没有任何压力去满足这些要求。但我很想知道它们是否可以实现。我对系统类型的负面反应感到惊讶! (5认同)
  • (1) 类型的大写为 PascalCase。系统类型满足此要求。别名则不然。(2) 自定义格式(更改配色方案)时,系统类型遵循应用于系统类型的规则。内置类型则不然。 (2认同)