6

我正在使用带有 typescript 和 web essentials 2012 插件的 Visual Studio 2012。如果您通过右键单击解决方案资源管理器 > 添加新项目 > 选择 typescript 文件来添加新的 typescript 文件...例如 file1.ts Visual Studio 也会生成 file1.js 和 file1.min.js。在解决方案资源管理器中,它们整齐地出现在 file1.ts 文件根目录下。如果您执行“添加现有项目”,例如 file2.ts,则生成的 file2.js 出现在 file2.ts 名称下时,您不会得到那种整洁的外观。

这是为什么?以及我需要更改什么设置才能使 Visual Studio 使所有生成的 js 文件出现在 ts 文件根目录下。

我希望我说得通。

顺便说一句,自从第一个 typescript 插件发布以来,情况一直如此,感谢 kashim

4

3 回答 3

9

要获得所需的效果,您需要在项目文件中进行修改。您会注意到正确嵌套的文件如下所示:

<Content Include="app.js">
  <DependentUpon>app.ts</DependentUpon>
</Content>
<Content Include="app.min.js">
  <DependentUpon>app.ts</DependentUpon>
</Content>

而您目前可能有Content每个文件的元素,但DependentUpon里面没有元素。

更改项目文件以匹配此示例将为您嵌套项目。

于 2013-03-12T12:10:31.647 回答
3

有一个名为NestIn的小 VS 插件,它无需直接编辑项目文件(https://visualstudiogallery.msdn.microsoft.com/9d6ef0ce-2bef-4a82-9a84-7718caa5bb45)就可以解决问题。没有设置,没有配置,只需右键单击两个以上的文件并将它们嵌套在其中。您唯一需要的是指定哪个是根。当然,如果您愿意,您可以取消嵌套文件。

另一个由 Mads Kristensen 编写的文件嵌套仅适用于 Visual Studio 2013 和 2015。因此,如果您打算升级到更高的 VS 版本,您也可以尝试一下。

于 2015-05-18T07:48:28.593 回答
1

这是一个可以完成这项工作的小型正则表达式!

在解决方案资源管理器中卸载您的项目,然后右键单击并选择“编辑”

在文件中,使用 RegEx(星号启用)运行搜索和替换 ( Ctrl- H) 并替换:

<Content Include="(.*)\\([^\\]*).js" />

<Content Include="$1\$2.js"><DependentUpon>$2.ts</DependentUpon></Content>

现在保存文件并重新加载项目。

于 2015-09-14T12:50:49.273 回答