我想在Visual Studio中使用Microsoft的自定义文件嵌套选项,以其“父”接口嵌套实现类文件,因此在此示例中,我希望ReportRepository.cs
出现在嵌套在IReportRepository.cs
下解决方案资源管理器。所有存储库都应该如此。
我已经在解决方案的根目录中创建了.filenesting.json
文件,但是我不知道如何使用它和documentation is very sparse。
有人知道我如何在Visual Studio 2019中实现这一目标吗?
答案 0 :(得分:2)
据我所知,不可能按前缀分组。您只能按扩展名或后缀或整个文件名分组。
这意味着您无法为此定义规则。但是,有两种选择:
要为每个文件定义规则,请使用fileToFile
提供程序。
看起来像这样:
{
"help": "https://go.microsoft.com/fwlink/?linkid=866610",
"root": true,
"dependentFileProviders": {
"add": {
"fileToFile": {
"add": {
"IInvestigationRepository.cs": [ // Parent file
"InvestigationRepository.cs" // Nested file
],
"IReporterRepository.cs": [ // Parent file
"ReporterRepository.cs" // Nested file
]
...
}
}
}
}
}
或者,如果第一种选择不是您喜欢的,则可以为文件使用其他命名方案,并让类保留其旧名称。
然后您可以像这样使用fileSuffixToExtension
提供程序:
{
"help": "https://go.microsoft.com/fwlink/?linkid=866610",
"root": true,
"dependentFileProviders": {
"add": {
"pathSegment": {
"add": {
".DefaultImplementation.cs": [
".cs"
]
}
}
}
}
}
这将映射
IInvestigationRepository.DefaultImplementation.cs
至IInvestigationRepository.cs
,IReporterRepository.DefaultImplementation.cs
至IReporterRepository.cs
以此类推。
这也将使文件的目的更加明确,因为只有相同的名称并不能告诉您接口的作用,而仅仅是与接口有关。
如果您不希望在.
中使用符号,而是希望使用-
,则可以通过将"pathSegment"
替换为"fileSuffixToExtension"
并替换".DefaultImplementation.cs"
与"-DefaultImplementation.cs"