如何使用 Visual Studio 在 C# 项目模板中将参数值替换为小写

How to replace a parameter value with lowercase in a C# project template using Visual Studio

提问人:Qudus 提问时间:4/6/2023 更新时间:4/7/2023 访问量:131

问:

我正在尝试为 C# 创建一个项目模板,并且我有一个名为“MyClass”的输入参数,如下面的模板配置所示。我希望能够在模板中替换“MyClass”的实例后将其更改为小写。

这是一个示例类模板,我想从中生成所有类:

//This is myClass <- Change this to lowercase (myClass)
public class MyClass <- Leave this as it is (MyClass)
{
}

如果我从模板生成一个名为“School”的类,我希望输出如下所示:

//This is school <- This replacement was changed to all lowercase
public class School <- This replacement was left unchanged
{
}

这是我的模板的当前配置:

{
  "name": "Test",
  "shortName": "test",
  "preferNameDirectory": true,
  "tags": {
    "language": "C#",
    "type": "item"
  },
  "symbols": {
    "MyClass": {
      "type": "parameter",
      "datatype": "text",
      "description": "Renames files containing 'MyClass'",
      "fileRename": "MyClass",
      "replaces": "MyClass",
      "isRequired": true,
      "defaultValue": "MyClass"
    }
  }
}

注意:模板文件的构建操作已设置为内容,无法编译,因此我无法执行 ToLower() 之类的操作。

C# Visual-Studio 模板

评论

0赞 Jiale Xue - MSFT 4/7/2023
我不明白你的.你的意思是你不能修改这个模板吗?Note:The build action of the template file has been set to content and cannot be compiled so I cannot do things like ToLower()
0赞 Qudus 4/8/2023
@JialeXue-MSFT:这意味着作为模板的 cs 文件实际上是一个文本文件,内容无法编译。

答:

1赞 Jiale Xue - MSFT 4/7/2023 #1

我不明白你的,你的意思是你不能修改这个模板吗?那么你怎么能得到你需要的东西。Note:

您应该修改以添加属性,这应该可以解决您的问题。valueTransform

“valueTransform”: “第一小写”