【问题标题】:Typescript Intellisense not working when combining js files组合js文件时Typescript Intellisense不起作用
【发布时间】:2014-03-21 16:13:26
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript visual-studio-2013 typescript intellisense


    【解决方案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 文件。

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

    【讨论】:

      【解决方案2】:

      我在使用 Typescript 和 VS2013 以及不同版本的 typescript 时遇到了类似的问题。我和年长的,。 95、typescript 已经有相当长的时间来避免这个问题了。

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

      合并到一个文件中,保存时编译和智能感知现在都可以为我工作。

      【讨论】:

        猜你喜欢
        • 2017-03-09
        • 1970-01-01
        • 2013-12-16
        • 2014-10-27
        • 1970-01-01
        • 1970-01-01
        • 2020-05-27
        • 1970-01-01
        • 2016-06-17
        相关资源
        最近更新 更多