gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 20:42:08 25 4
gpt4 key购买 nike

这个问题与这些问题基本相同:

How do I add an existing directory tree to a project in Visual Studio? How to "Add Existing Item" an entire directory structure in Visual Studio?

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

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

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

但是http://xkcd.com/979/又来了。

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

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

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

建议的解决方案:

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

不起作用,因为:

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

建议的解决方案:

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

不起作用,因为:

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

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

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

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

我的解决方案

我正在使用 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>'

关于python - 如何将现有文件夹结构添加到我的 Visual Studio 项目(python 工具)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12681852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com