javascript - 合并 js 文件时 Typescript Intellisense 不起作用

标签 javascript visual-studio-2013 typescript intellisense

我在 TypeScript 项目的属性中找到了 TypeScript Build 选项卡。该选项卡上有一个有趣的功能,称为:“将 JavaScript 输出合并到文件中:”。这似乎按预期工作,但由于某种原因似乎弄乱了智能感知。

当组合 js 输出文件的选项打开时,intellisense 停止工作(ctrl+space 不执行任何操作)。但语法突出显示、构建和重构仍然有效。它会执行此操作,直到该选项关闭并且 VS 重新启动为止。

我安装了 Visual Studio 2013 Update 2 CTP 2 并删除了原始的 typescript 插件(因为它包含在更新中?)。 Web Essentials 已启用,新更新后它不会再崩溃,禁用它也不会修复智能感知。

这是怎么回事?我该如何让它发挥作用?

最佳答案

无论如何,这个问题似乎在较新版本的 typescript 中得到了解决。您使用什么版本的 typescript ?

如果您无法升级您的 typescript 版本,那么使用内置单文件输出之外的内容是否适合您?如果是这样,您应该考虑使用 grunt-ts-bundle

grunt.initConfig({
  bundle: {
    main: {
        rootModule: 'plat',
        license: './license.txt',
        version: '<%= pkg.version %>',
        src: './index.html',
        dest: [
            './out.ts'
        ],
        preSave: function (data, done) {
            done(data);
        }
    }
  }
});

grunt.loadNpmTasks('grunt-ts-bundle');

这只是运行 ts-bundle 的一个繁重任务:

https://github.com/Platypi/ts-bundle

然后你可以将文件包装在你的 src (`./index.html) 中,如下所示:

<!-- ts-bundle-start -->
<script src="app/models/user.model.js"></script>
<script src="app/controllers/users.controller.js"></script>
<!-- ts-bundle-end -->

这会将您的 user.model.jsusers.controller.js 文件合并到一个 out.js 文件中。

如果这对您有用,并且您有任何其他问题或需要澄清,请告诉我 - 祝您好运!

关于javascript - 合并 js 文件时 Typescript Intellisense 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22563899/

相关文章:

javascript - AbortController 不终止获取请求

Javascript DOM 将值发送到 iframe 中嵌入的函数以模拟按键

javascript - Reactjs,如何将 props.location.pathname 与字符串进行比较?

c# - Visual Studio 工具箱不包括来自同一解决方案的另一个项目的用户控件

c# - Visual Studio 2013 中的 Silverlight

visual-studio-2012 - 在 Visual Studio 中查找对重写方法的所有引用

compiler-construction - 在 typescript 中是否可以让函数返回扩展它的类的类型

javascript - 如何在页面加载时启用 Extjs 过滤器

javascript - Angular typescript 指令范围为空

typescript - 在 TypeScript 中返回一个符号