如何将现有文件夹结构添加到我的 Visual Studio 项目(Python 工具)?

2024-03-30

这个问题本质上与以下问题相同:

如何将现有目录树添加到 Visual Studio 中的项目? https://stackoverflow.com/questions/392473/how-do-i-add-an-existing-directory-tree-to-a-project-in-visual-studio 如何在 Visual Studio 中“添加现有项”整个目录结构? https://stackoverflow.com/questions/57776/how-to-add-existing-item-an-entire-directory-structure-in-visual-studio

除了解决方案对我不起作用。

看起来另一个用户也遇到了完全相同的问题

http://pytools.codeplex.com/discussions/249455 http://pytools.codeplex.com/discussions/249455

But http://xkcd.com/979/ http://xkcd.com/979/又来袭了。

我正在使用 Visual Studio 2010 和 Visual Studio 的 Python 工具。

在此项目中,用户创建新文件夹和代码并将它们提交到 SVN。另一个用户将更新 SVN,新的文件和文件夹将显示在 Windows 资源管理器中。然后,用户需要一种简单的方法将这些文件夹和文件添加到解决方案中。

将解决方案放入 SVN 中以便在提交之前可以将添加的文件夹添加到解决方案中,这不是一种选择。该解决方案在与源头不同的区域进行控制。

建议的解决方案:

https://stackoverflow.com/a/392477/606660 https://stackoverflow.com/a/392477/606660

不会工作,因为:

解决方案资源管理器中的“显示所有文件”按钮不显示。

建议的解决方案:

https://stackoverflow.com/a/57778/606660 https://stackoverflow.com/a/57778/606660

不会工作,因为:

当我将文件夹拖到解决方案资源管理器窗格中时,文件夹的放置位置会影响它在解决方案中的嵌套位置。如果它被放入错误的文件夹中,它会显示为具有预期名称和预期内容的文件夹。这非常接近我们想要的,除了它位于错误的文件夹中(因为我故意将其放在错误的文件夹中)。如果该文件夹被拖动到正确的位置,它将显示为带有感叹号的文件。当您双击“文件”时,它会显示

"The item <folder name> does not exist in the project directory.  It may have been moved, renamed, or deleted"

我相信这是因为 VS 会尝试在您将其拖动到的目录中创建该文件夹的副本。如果我将该文件夹完全移出项目(例如移到桌面),然后将其拖到解决方案资源管理器中的正确位置,它将显示为项目中的文件夹。还会在磁盘上由拖放指定的位置创建该文件夹的副本,具有相同的名称和内容。

因此,将文件夹拖放到解决方案资源管理器上似乎会在磁盘上您放置该文件夹时在解决方案中定位的位置创建该文件夹的副本。如果该位置已有同名的文件夹,则该文件夹将作为文件导入。

我的解决方案

我正在使用 PyCharm,它更好。


如果没有其他办法,您可以手动添加文件和文件夹.pyproj-文件。格式很简单:

<ItemGroup>
    <Compile Include="File1.py" /> <!-- List of files relative to .pyproj folder -->
    <Compile Include="test\file2.py" />
</ItemGroup>
<ItemGroup>
    <Folder Include="test\" /> <!-- List of folders -->
</ItemGroup>

您可以添加更多<ItemGroup>如果您愿意,您可以混合文件和文件夹。

生成 XML 的脚本:

import os

def visit(folder):
    for fn in os.listdir(folder):
        filename = os.path.join(folder, fn)
        _, ext = os.path.splitext(fn)
        if os.isdir(filename):
            folders.append(filename)
            visit(filename)
        elif ext.lower() == '.py':
            files.append(filename)

files = []
folders = []

visit('.')

print '<ItemGroup>'
for fn in files:
    print '  <Compile Include="' + fn + '"/>'
print '</ItemGroup>'

if folders:
    print '<ItemGroup>'
    for fn in folders:
        print '  <Folder Include="' + fn + '\\"/>'
    print '</ItemGroup>'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将现有文件夹结构添加到我的 Visual Studio 项目(Python 工具)? 的相关文章

随机推荐