13

我想要一个 *.js 文件,而不是后面或旁边的 *.cs 代码。我正在开发一个 MVC 应用程序,因为我有控制器,所以不需要代码,但在某些情况下,最好有一个 JavaScript 代码或者以某种方式将文件与正在使用的页面相关联。我想我可以类似地命名它们,但如果可能的话,我想显示关联,因此毫无疑问该文件的用途。

通常我所说的是在 Visual Studio 中,现在在 Global.asax 文件下,左边会有一个加号:

+ Global.asax

一旦你扩展它,你会得到

- Global.asax
    Global.asax.cs

我希望同样的事情发生:

+ Home.spark

- Home.spark
    Home.spark.js

更新:

我现有的 csproj 文件有一个实际文件的路径,不确定这是否搞砸了。我目前有:

<ItemGroup>
    <Content Include="Views\User\Profile.spark.js">
      <DependentUpon>Views\User\Profile.spark</DependentUpon>
    </Content>
  </ItemGroup>
  <ItemGroup>
    <Content Include="Views\User\Profile.spark" />
  </ItemGroup>

它只是显示彼此并排的文件。

4

6 回答 6

16

VSCommands插件,允许您直接从 IDE 配置依赖文件

链接已更新,以前是http://mokosh.co.uk/vscommands

仅供参考:安装 VSCommands 后,只需选择所有要依赖的文件和根文件,然后右键单击 -> 组项目... VSCommands 会询问您希望哪个文件成为根文件。

于 2009-06-06T08:04:09.727 回答
13

绝对 - 但您必须手动编辑项目文件。找到您的“子”文件的条目,并将其更改为非自关闭元素,并添加一个子元素来说明它所依赖的内容。这是正在编译的 .cs 文件的示例:

<Compile Include="AssertCount.cs">
  <DependentUpon>MoreEnumerable.cs</DependentUpon>
</Compile>

这是我刚刚为您指定的文件模拟的一个版本 - 尽管我希望Home.spark会有一个与之相关的操作而不是“无”:

<ItemGroup>
  <Content Include="Home.spark.js">
    <DependentUpon>Home.spark</DependentUpon>
  </Content>
</ItemGroup>
<ItemGroup>
  <None Include="Home.spark" />
</ItemGroup>

Visual Studio 会按照您的预期显示它。

于 2009-04-07T22:57:57.873 回答
2

我不知道如何通过 Visual Studio UI 本身来完成,但如果你在文本编辑器中打开 csproj 文件,你可以看到他们是如何为 Global.asax 做的。

它通常看起来像这样:

<Compile Include="Global.asax" />
<Compile Include="Global.asax.cs">
    <DependentUpon>Global.asax</DependentUpon>
</Compile>
于 2009-04-07T23:01:39.457 回答
0

虽然这里的其他解决方案(编辑项目文件)适用于单个文件,但我们做了同样的事情,但希望它自动适用于所有 *.conv 和 *.conv.js 文件,而不是编辑项目文件每一个人。

当我们将一个新的 .conv 文件添加到我们的应用程序时,如果我们有一个 *.conv.js 文件,它会自动嵌套在它下面,正如您对 .aspx 和 *.aspx.cs 所期望的那样。

我找不到我用来设置它的原始教程(它确实涉及注册表黑客),但这是我刚刚从谷歌搜索中找到的一个描述相同内容的教程:

http://blog.dotnetwise.com/2009/09/visual-studio-2008-custom-nested-files.html

于 2010-04-28T06:38:01.933 回答
0

如果您需要为某些文件添加代码隐藏,则有一种解决方法。例如,您想让Test.xaml.cs成为Test.xaml的子级。完成以下步骤:

  1. 从项目中排除Test.xamlTest.xaml.cs,保存项目。

  2. 卸载项目。

  3. 重新加载项目。

  4. 在文件资源管理器窗格中单击“显示隐藏文件”。

  5. 文件Test.xaml.cs将显示为Test.xaml的子级。

  6. 将文件添加回项目,保存项目。

就是这样。现在Test.xaml.cs依赖于Test.xaml

于 2012-04-03T11:41:35.650 回答
0

您可以手动编辑项目文件,John Skeed 建议,或者您也可以查看 Visual Studio 的文件嵌套扩展,它将为您完成这项工作。

于 2015-12-30T13:32:26.387 回答