Visual Studio 中的项目目录结构丢失了?

2024-01-08

我正在学习 Visual Studio 2015 社区。我是一位经验丰富的程序员,但刚接触 VS,文件表示方式让我感到困惑。我创建了一个解决方案,并添加了一个现有项目。 VS 正在向我显示所有项目文件(在我的例子中是一个 C++ 项目,所以.c, .cpp, and .h文件)位于解决方案资源管理器的一个树级别上。

相反,如果我在 Sublime Text、VS Code、notepad++ 等中打开所述项目,我会看到正确的目录结构,因为它位于磁盘驱动器上;正如人们在文件资源管理器/查找器中看到的那样,或者ls/dir在终端中。

我在发帖之前已经做了功课,在下面的帖子中,@Andrey 指出:

恐怕MSVS中没有“目录”这样的概念 结构”。此外,MSVS 并不真正需要它,因为它使用平面 项目和层次结构基于项目级别,而不是基于 文件/目录级别。

因为不存在这样的东西 - 你也不能自动拥有它 也不手动。 MSVS 有解决方案文件夹,这是完全不同的事情 将真实文件夹表示为解决方案没有多大意义 文件夹。

Visual Studio 作为代码浏览器:如何保留目录结构? https://stackoverflow.com/questions/2251201/visual-studio-as-code-browser-how-to-preserve-the-directory-structure/2260748#2260748

这是真的?文件的排列有很多意义,而VS中的扁平化表示使项目更难理解;文件在目录结构中的位置很重要。有没有办法在VS中查看正确的目录结构?

就我而言,我正在使用 Quickfix,它支持多个版本(4.0、4.1、4.2 等)。其中每个都有不同的类和具有相同名称的文件。

从下面的屏幕截图中可以看到,它们都整齐地排列在磁盘上的不同文件夹中,但 VS 对这些文件的表示非常混乱:


我发现 @Paul Easter 在下面的帖子中给出的答案对于理解这个“怪癖”非常有帮助,这确实是一个“功能”。项目结构的不同概念正在发挥作用:

但至于您不希望解决方案文件夹表现得像这样的原因 “物理”文件夹是因为您的解决方案布局可能不一定 使用与源代码管理布局相同的约定。解决方案 文件夹允许您自定义项目的层次结构,以便 您可以按照自己喜欢的方式将项目和项目分组在一起,然后 决定你不喜欢它并再次更改它而不必去 经历了移动源代码控制项目的噩梦 激怒团队的其他成员。

Visual Studio 解决方案文件夹作为真实文件夹 https://stackoverflow.com/questions/267200/visual-studio-solutions-folder-as-real-folders

这是一个好主意吗?我可以看到有些人会喜欢它,因为它允许他们按照自己的意愿排列项目文件。在这一点上,我不喜欢它;我确信,部分原因是它对我来说是新的,但也有两个原因:
1. 在一个有组织的项目中,目录层次结构不是任意的;首席工程师以某种方式排列文件是有充分理由的。
2.它在VS文件表示和操作系统结构之间添加了一个抽象层。我喜欢直接访问我正在处理的文件;使用 VS 系统,我感觉与 VS 中的底层文件有一种奇怪而诡异的脱节。我必须承认,我担心这一层有其异常现象,会给我带来问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visual Studio 中的项目目录结构丢失了? 的相关文章

随机推荐

  • python 模块存储在哪里?

    我最近开始学习Python 有两个与模块相关的问题 有没有办法获取机器上可用 即安装 的Python模块列表 我使用 Ubuntu Karmic 和 Synaptic 进行包管理 我刚刚安装了一个 python 模块 模块代码实际存储在我的
  • 能让代码分析理解代码契约吗?

    当组合使用代码分析和代码契约时 我收到很多警告 例如 CA1062 http msdn microsoft com en us library ms182182 aspx Microsoft Design 在外部可见的方法 Foo Bar
  • ggmap,使用 coord_cartesian 将所有点推向北方

    正如标题所说 当我添加时coord cartesian到我的 ggmap 它将我所有的点都向上移动 这是一些数据 pricedata lt structure list nodename c CIN WABRIVR 2 CIN WHEATC
  • Julia v0.6 函数内部宏

    有人可以解决我遇到的这个宏错误吗 它只在版本 0 6 中开始发生 mutable struct Foo x Int end macro test myfoo quoteblock quote myfoo x 1 end return quo
  • 如何从另一个数据框中获取值的行列名称

    给定一个范围表 start end name blue green yellow purple a 1 5 654 678 11 15 b 88761 88776 c 1211 1215 38 47 d 89 95 1567 1578 和一
  • 处理 twitter chill 中的案例类(Scala 到 Kryo 的接口)?

    Twitter chill 看起来是一个很好的解决方案 可以解决如何在 Scala 中高效序列化而不需要过多的样板文件的问题 但是 我没有看到任何证据表明他们如何处理案例类别 这是自动工作还是需要做一些事情 例如创建一个零参数构造函数 我有
  • 尝试调用不存在的方法, mongo-java-driver , mongobee

    我正在使用 MongoBee 进行迁移 但出现异常mongoTemplate insertAll 机场 ChangeLog order 001 public class DbChangeLog001 ChangeSet order 001
  • React Navigation V5 有没有办法链接导航?

    假设我有屏幕 A B C 是否可以在屏幕 A 中编写代码从 A 导航到 B 然后立即导航到 C use dispatch https reactnavigation org docs navigation prop dispatch wit
  • Windows Media Player Control (winforms) - 将当前帧捕获为位图?

    我在 winforms 应用程序中使用 Windows Media Player 控件 我想定期将播放帧捕获到位图中并将其保存在本地 WMP 是否会暴露当前播放帧 当然 WMP 库应该公开当前帧 但我已经到处寻找它但无济于事 请帮助 附注我
  • C 中的面向对象

    一组漂亮的预处理器 hack 兼容 ANSI C89 ISO C90 可以在 C 中实现某种丑陋 但可用 面向对象的功能是什么 我熟悉几种不同的面向对象语言 因此请不要回复 学习 C 之类的答案 我读过了 使用 ANSI C 进行面向对象编
  • PHP PDO 事务复制

    我有一个游戏网站 我想更新用户的钱 但是如果我同时使用 2 台电脑 此代码将执行两次 用户将剩下负钱 我怎样才能阻止这种情况发生 这让我疯狂 db getDB sql UPDATE users SET money money money W
  • 如何将 npm 参数传递给 dotnetpublish?

    长话短说 私有 npm 注册表 企业网络 无法从 github 下载 我需要通过 no optional to the npm install that dotnet publish 作为一部分执行 Target PublishRunWeb
  • 在 ajaxSuccess 期间确定响应是否为 JSON 的理想方法

    在我的 ajaxSucess 函数中 我需要查明响应是否为 json 目前我正在这样做 body ajaxSuccess function evt xhr settings var contType xhr getAllResponseHe
  • 在 Internet Explorer 中运行本地“Javascript Dependant”HTML 文件

    当您使用 Internet Explorer 打开本地 HTML 文件 包含 Javascript 时 会出现一条消息 Internet Explorer restricted this webpage from running scrip
  • 该领域已处于写入事务中

    该领域已处于写入事务中 我怎样才能避免这个错误 有没有办法检查领域是否处于写入牵引状态 如果领域处于写事务中 则先关闭 然后再执行其他工作 现在 在收到此错误后 该领域已处于写入事务中 那么与领域相关的其他任务也无法正常工作 这是我遇到的一
  • 什么决定了 System.Net.IPAddress.ToString() 的 IPv6 地址格式?

    内置 Net 方法 System Net IPAddress ToString 对于 IPv6 地址的行为不一致 给定字节数组0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 在某些环境下 aaaa aaaa aaaa
  • 如何更改 localStorage 项中的单个值?

    我有一组已保存的项目 但我试图在检索它之后并将其传递给我的 php 函数之前更改一个值 是否可以只更改一项 我的项目串如下所示 var args window localStorage getItem localusers start 0
  • 动画 SVG 路径填充自下而上

    我有一个带有多个路径的 SVG 我正在尝试对其填充进行动画处理 我的目标是制作一个动画 从下到上缓慢地填充每个路径中不同颜色的颜色 我尝试过使用线性渐变 但不知道如何将它与路径一起使用 我创建了以下 SVG https jsfiddle n
  • 如何重用带参数的 SQL 片段?

    我打算制作一个片段以便与参数一起重用
  • Visual Studio 中的项目目录结构丢失了?

    我正在学习 Visual Studio 2015 社区 我是一位经验丰富的程序员 但刚接触 VS 文件表示方式让我感到困惑 我创建了一个解决方案 并添加了一个现有项目 VS 正在向我显示所有项目文件 在我的例子中是一个 C 项目 所以 c