如何在VS2015中按名称隐藏解决方案资源管理器中的文件?

时间:2015-05-11 18:42:09

标签: projects-and-solutions asp.net-core visual-studio-2015 asp.net-core-mvc

我正在使用ASP.NET预览模板在VS2015中编写一个网站。不幸的是,Dropbox在我的项目的每个文件夹中添加了一堆.dropbox.attr文件,解决方案资源管理器正在显示这些文件:

.dropbox.attr files

请注意,我没有手动将它们添加到项目中(我的Web.xproj中未引用它们),并且我没有选择“显示所有文件”。我已将它们添加到.gitignore。选择文件时没有“删除”选项:

.dropbox.attr context menu

最后,我尝试将它们添加到我的project.json的排除部分:

...

"publishExclude": [
    "node_modules",
    "bower_components",
    "**.xproj",
    "**.user",
    "**.vspscc",
    ".dropbox.attr"
],

"exclude": [
    "wwwroot",
    "node_modules",
    "bower_components",
    ".dropbox.attr"
]

...

有没有办法让所有具有此名称的文件都不会显示在我的解决方案资源管理器中?

我不确定VS2015与新项目结构之间的相互作用,因此可能是任何这些因素的结果。

3 个答案:

答案 0 :(得分:15)

您可以修改项目的.xproj文件,并添加以下内容以排除文件夹:

<ItemGroup>
    <DnxInvisibleFolder Include="wwwroot\jspm_packages\" />
    <DnxInvisibleFolder Include="wwwroot\node_modules\" />

    <DnxInvisibleContent Include="wwwroot\tsd.json" />
</ItemGroup>

您可以将DnxInvisibleFolder用于文件夹,将DnxInvisibleContent用于文件。 有些文件夹(如node_modules)有时会有数千个文件夹/文件,这似乎是VS2015扫描和加载的主要问题。

答案 1 :(得分:4)

在Visual Studio 2015的DNX项目中,解决方案资源管理器不使用project.json来确定显示的内容。 project.json中的“exclude”属性由dnx用于确定应从编译或发布中排除哪些文件夹/文件,但这不会影响Visual Studio的解决方案资源管理器。

一般来说,显示“所有内容”,但这并不完全正确,因为VS会排除某些文件夹(例如.git,.vs,工件等)。它还会添加其他内容(例如,默认情况下,bower组件会从编译中排除,但VS会将其作为依赖项下的元文件夹添加回来)。 解决方案资源管理器的“过滤器”不会向用户公开,因此无法通过配置文件对其进行编辑或更改。

您最好的选择是通过用户语音请求添加一些配置方法。实际上功能已经存在,它只需要由用户定制。

答案 2 :(得分:2)

使用最新的Visual Studio,您只需右键单击文件夹/文件,然后选择“从解决方案资源管理器中隐藏”。

这会像Corneliu之前写的那样改变“xproj”:

file:///C://Users/USERNAME/Desktop/My%20Folder/