You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio中批量添加匹配特定模式的现有文件?

批量添加特定格式文件到Visual Studio生成文件项目

方法一:直接编辑项目XML文件(最快捷)

Visual Studio的生成文件项目(.vcxproj)本质是XML格式的配置文件,直接修改它就能批量纳入所有匹配的文件:

  1. 完全关闭Visual Studio,避免文件锁定。
  2. 找到你的项目文件(如YourProject.vcxproj),用文本编辑器(VS Code、Notepad++均可)打开。
  3. 在文件中找到现有的<ItemGroup>节点,或者新建一个专门用于管理非编译文件的节点。
  4. 添加以下代码,用通配符匹配所有子目录下的.py和.m文件:
<ItemGroup>
  <None Include="**\*.py" />
  <None Include="**\*.m" />
</ItemGroup>
  • <None>表示这些文件不参与编译,仅作为项目的一部分用于搜索、浏览。如果需要设置额外属性(比如复制到输出目录),可以扩展节点:
    <None Include="**\*.py">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    
  1. 保存文件,重新打开Visual Studio项目,所有匹配的文件会自动按目录结构显示在项目中。

方法二:用PowerShell脚本自动修改(适合怕手动改XML出错的场景)

  1. 打开PowerShell,切换到项目所在目录。
  2. 运行以下脚本,替换YourProject.vcxproj为你的实际项目文件名:
$projPath = "YourProject.vcxproj"
$xml = [xml](Get-Content $projPath)
$ns = New-Object System.Xml.XmlNamespaceManager($xml.NameTable)
$ns.AddNamespace("ms", "http://schemas.microsoft.com/developer/msbuild/2003")

# 查找或创建专门的ItemGroup节点
$itemGroup = $xml.SelectSingleNode("//ms:ItemGroup[not(ms:Compile)]", $ns)
if ($null -eq $itemGroup) {
    $itemGroup = $xml.CreateElement("ItemGroup", $ns.LookupNamespace("ms"))
    $xml.Project.AppendChild($itemGroup) | Out-Null
}

# 添加.py文件规则
$pyNode = $xml.CreateElement("None", $ns.LookupNamespace("ms"))
$pyNode.SetAttribute("Include", "**\*.py")
$itemGroup.AppendChild($pyNode) | Out-Null

# 添加.m文件规则
$mNode = $xml.CreateElement("None", $ns.LookupNamespace("ms"))
$mNode.SetAttribute("Include", "**\*.m")
$itemGroup.AppendChild($mNode) | Out-Null

# 保存修改
$xml.Save($projPath)
  1. 运行完成后,打开Visual Studio即可看到所有目标文件已被纳入项目。

注意事项

  • 若之后重新通过“从现有代码新建项目”生成配置,手动添加的规则会被覆盖,建议将.vcxproj的修改纳入版本控制,或记录该修改步骤。
  • 通配符**\*.ext会匹配项目根目录下所有层级子目录中的目标文件,完美适配分散的文件结构。

内容的提问来源于stack exchange,提问作者Ian Brockbank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 20:26:06