在组合js文件时,Typescript Intellisense无法正常工作

时间:2014-03-21 16:13:26

标签: javascript visual-studio-2013 typescript intellisense

我在typescript项目的属性中找到了TypeScript Build选项卡。在该选项卡上有一个有趣的功能,名为:'将JavaScript输出合并到文件中:'。这似乎与预期的一样,但由于某种原因似乎搞乱了intellisense。

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

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

发生了什么事?我如何让它工作?

2 个答案:

答案 0 :(得分:1)

对于它的价值,这个问题似乎在较新版本的打字稿中得到解决。你使用的是什么版本的打字稿?

如果您无法升级您的打字稿版本,是否使用内置单个文件输出之外的东西为您工作?如果是这样,您应该考虑使用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文件中。

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

答案 1 :(得分:0)

我遇到了与Typescript和VS2013以及不同版本的打字稿相似的问题。我和老人住在一起了。 95,打字稿相当一段时间以避免这个问题。

我很高兴地报告说,这个问题已经随着ts插件的最新版本而消失。

组合成一个文件,在save和intellisense上编译,现在一起为我工作。