Typescript智能感知在组合js文件时不起作用

Typescript Intellisense not working when combining js files

本文关键字:文件 不起作用 js 组合 智能 感知 Typescript      更新时间:2023-09-26

我在TypeScript项目的属性中找到了TypeScript Build选项卡。在那个选项卡上有一个有趣的功能,叫做"将JavaScript输出合并到file:"。这似乎像预期的那样工作,但由于某种原因,它似乎混淆了智能感知。

当选择合并js输出文件时,智能感知停止工作 (ctrl+space不做任何事情)。但是语法高亮、构建和重构仍然有效。它会一直这样做,直到该选项被关闭并且VS已经重新启动。

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

怎么回事?我怎么让它工作?

无论如何,这个问题似乎在较新的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文件。

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

我在Typescript和VS2013以及不同版本的Typescript中遇到了类似的问题。我曾和年长的。为了避免这个问题,我花了很长一段时间修改打字稿。

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

合并成一个文件,编译保存和智能感知现在都为我一起工作。