更改 VSPS 的类别名称

Posted

技术标签:

【中文标题】更改 VSPS 的类别名称【英文标题】:Change category name for VSPS 【发布时间】:2017-01-04 04:36:12 【问题描述】:

我目前正在使用新的 Visual Studio 项目系统扩展库来实现 VS2015 的新项目类型。我想做的是更改该类型项目的“类别”的名称。我希望它是“Visual Basic 6”。问题是,当我使用“项目类型”模板创建包时,它会询问我显示名称(我设置为“Visual Basic 6”)和命名空间名称(我设置为 VB6),但是当我启动 VS 实验配置单元(使用默认模板代码),项目模板名称为“Visual Basic 6 Project”,但左侧的类别为“VB6”。我尝试从

更改 .vstemplate 文件的行
<ProjectType>VB6</ProjectType>

<ProjectType>Visual Basic 6</ProjectType>

但如果我这样做了,那么模板就不会出现在“新建项目”窗口中。我还尝试更改 MyUnconfiguredProject.cs 文件中 Language 和 UniqueCapability 常量的值,但它没有改变任何东西。如果我更改了 ProjectType 值,模板就会消失。我注意到类别名称实际上是命名空间名称(而不是“显示名称”,为什么?),所以如果我放 VisualBasic6,它可以工作,但我不能放空格。 我怎样才能使类别成为“Visual Basic 6”

【问题讨论】:

如果使用项目类型模板再次运行向导并使用“Visual Basic 6”而不是 VB6 作为命名空间会发生什么? 正如我所说,我不能在命名空间中放置空格。 不幸的是,我认为这就是你的答案,你不能在里面放空格。 这就是我的问题的重点。我想更改类别名称。我的意思是,如果 VS 可以有“Visual Basic”、“Visual C#”等,那么我应该也可以这样做。我看到其他使用旧 MPF/MEF 项目系统的项目使用带有空格的类别名称。 你试过Visual&amp;nbsp;Basic&amp;nbsp;6吗? 【参考方案1】:

我已尝试关注tutorial here

如果您在C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplates\VisualBasic\ 中创建一个带有空格的新文件夹,请将您的模板放入其中,在运行devenv /installvstemplates 命令后,模板确实出现在具有给定名称(包括空格)的类别中。

本文还提到,您不能在顶层创建新类别,只能作为现有语言的子类别:

您无法在编程语言级别创建新类别。只能在每种语言中创建新类别。

【讨论】:

这也是我的问题的重点。我不是为现有语言创建模板。我创建了项目系统和语言服务,现在我希望它在 New Project/Item 窗口中显示为“Visual Basic 6”。例如,这里的文件夹是“VisualBasic”,但它在 Visual Studio 中显示为“Visual Basic”(注意空格)。与 CSharp 显示为“Visual C#”的方式相同。 那么您似乎需要创建一个 Visual Studio 扩展,它会以某种方式添加新的语言类别。我知道 Syncfusion 和 Telerik 扩展能够以某种方式连接到对话框中,但即使我今天早些时候已经寻找过,我也找不到任何东西:-(。希望你能找到解决方案。 正如我所说,我正在使用 VSPS 创建一个新的项目类型,所以我使用提供的“项目类型”模板来创建一个 VSPackage 项目。目前,一切正常(我可以创建新项目,语法突出显示源代码文件,甚至有 .frm 文件的自定义设计器),但我只是想更改显示名称。 从我的发现来看,VSPS 显然不足以完成你所需要的(这似乎得到了上面引用的证实。 我找到了一个用于 Visual Studio 的 Java 扩展,它可以做到这一点 - 它添加了一个新的 ProjectType - Java 并且还以某种方式使用这样的类将自己注册到 Visual Studio 中:github.com/tunnelvisionlabs/JavaForVS/blob/…

以上是关于更改 VSPS 的类别名称的主要内容,如果未能解决你的问题,请参考以下文章

在循环内使用 ACF 更改类别名称

Linq 按产品排序但显示类别

如何从 wordpress 中删除“类别:[类别名称]”[关闭]

从类别下拉列表中选择后,wordpress 更改类别表示

当类别名称与数据混合时如何提取组类别

一起显示所有类别名称 woocommerce