【问题标题】:VS2010 - Open a solution, file in this sln will open tooVS2010 - 打开一个解决方案,这个 sln 中的文件也会打开
【发布时间】:2013-03-13 22:04:20
【问题描述】:

我创建了一个小应用程序(win forms),它创建了一个解决方案,将一个项目和一些文件添加到项目中。通过单击一个按钮,新的解决方案应该由安装的 vs2010 express 打开。那工作正常,一切正常。我的问题,有没有办法在加载孔解决方案时打开解决方案中的特定文件?为了更好地理解,用户(我的应用程序)创建了一个包含 3 个文件(a.cs、b.cs 和 c.cs)的 sln。他选择 b.cs(在我的应用程序中),然后打开 sln。在 vs 的编辑器中,预选的 b.cs 应该是打开的。

我试图创建一个 sou - 文件,但我认为那不是正确的方式...

有没有办法做到这一点?! 谢谢和问候 萨沙

【问题讨论】:

  • 您使用了错误的工具。您可以在 Visual Studio 中轻松完成这些事情,而不是在 Express 版本中。它不支持加载项。

标签: visual-studio-2010 solution suo


【解决方案1】:

Visual Studio 通过使用 SUO 文件记住您上次关闭解决方案时打开的文件以及断点等其他内容。您可以通过一个简单的实验来检查这一点:关闭您的解决方案,只在其中打开一个文件(例如 a.cs),手动删除 SUO 文件(不用担心,如果它不存在,VS 会重新创建它)当您再次打开解决方案时,您会看到您不会打开任何文件,并且您丢失了所有断点。

因此,在这里要做的显而易见的事情是操作 SUO,将用户选择的文件存储在其上,然后从您的工具中打开 VS。我在文档中找到的唯一内容是IVsPersistSolutionOpts,但我没有任何直接经验。

还可以查看CodeProject article:虽然它的主要重点是向 Visual Studio 添加一个工具窗口,但它也使用 IVsPersistSolutionOpts。

【讨论】:

  • 我知道suo文件负责打开文件。问题是,sou 文件是二进制文件...我不敢相信从外部打开文件应该是一个巨大的问题...但是代码项目文章的谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多