23

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

如何将现有目录树添加到 Visual Studio 中的项目? 如何在 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

不起作用,因为:

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

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

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

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

我的解决方案

我改用 PyCharm,它好多了。

4

3 回答 3

6

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

<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>'
于 2012-10-01T22:35:07.980 回答
3

显示所有文件有效。显示所有文件在项目菜单中。

项目->显示所有文件

于 2015-02-24T21:10:18.327 回答
2

这在 Visual Studio 2013 中对我有用,我不知道这是否适用于其他 Visual Studio 迭代。

安装Python Tools for Visual Studio (PTVS) 后,我在这里找到了

  1. 打开 Visual Studio,导航到 FILE->NEW->PROJECT(或按住 Cntrl+shift+N) 在此处输入图像描述

  2. 在新项目对话框中,浏览到您现有的 python 项目目录。在项目名称字段中输入您的项目名称。取消选中为解决方案创建目录(如果您不希望创建新的项目目录)。并选择“来自现有 Python 代码”选项并单击“确定”。 在此处输入图像描述

  3. 在“从现有 Python 代码创建新项目”向导中,按照提示进行所有必要的设置,或者单击完成。 在此处输入图像描述

于 2015-10-06T19:20:23.847 回答