javascript - 如何在 Mac OS X 上的新 Visual Studio Code 中编译 TypeScript 文件

标签 javascript macos typescript visual-studio-code

Microsoft 刚刚为 Mac OS X 平台发布了新的 Visual Studio Code。它支持 TypeScript,因为它可以获得 TypeScript 代码的自动完成和错误报告。

我的问题:我们如何从 Visual Studio Code 中编译 TypeScript 文件(以生成相应的 JavaScript 文件)?我已经按照建议创建了一个默认的 tsconfig.json 文件,只有 {},并尝试调用 shift+command+B 但这不会生成更新的 JavaScript 文件。

最佳答案

您需要设置一个任务来执行此操作。

如果我在使用不同的操作系统时出现了一些错误,我提前道歉。对于任何使用 Windows 的人来说,它将是 CTRL - 我认为 OSX 版本只是意味着使用 CMD

如果您按下 CTRL + SHIFT + P,您应该会看到一个允许您搜索所有命令的操作菜单。

键入 配置任务运行程序。如果您还没有,这将在设置文件夹中为您创建一个 tasks.json 文件。否则,它将打开现有的 tasks.json 文件。

您可以取消注释内置的 TypeScript 任务 - 它看起来像这样(我的主文件是 app.ts,此文件中默认为 HelloWorld.ts):

// A task runner that calls the Typescipt compiler (tsc) and 
// Compiles a HelloWorld.ts program
{
    "version": "0.1.0",

    // The command is tsc.
    "command": "tsc",

    // Show the output window only if unrecognized errors occur. 
    "showOutput": "silent",

    // Under windows use tsc.exe. This ensures we don't need a shell.
    "windows": {
        "command": "tsc.exe"
    },

    // args is the HelloWorld program to compile.
    "args": ["app.ts"],

    // use the standard tsc problem matcher to find compile problems
    // in the output.
    "problemMatcher": "$tsc"
}

然后您可以使用 CTRL + SHIFT + B 按需执行此任务。

如果定义了多个任务,可以使用 CTRL + E 并键入 task(注意“task”后的空格)和它会为您提供所有任务的列表,供您选择。

您的手不需要离开键盘即可完成任何操作!

最后...如果您仍然一无所获,请检查窗口底部的这个图标,因为您可能遇到了编译器错误...(下面的图标显示了一个错误 - 在您的编辑器中单击它以获取详细信息).

Building / Errors / Warnings

关于javascript - 如何在 Mac OS X 上的新 Visual Studio Code 中编译 TypeScript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29974616/

相关文章:

objective-c - 使用最新的 xcode/OSX 版本构建项目时出现奇怪的应用程序行为

typescript - 如何解决“只读<{}>”类型上不存在属性 'navigation'

json - 下拉列表无法从对象中提取数字值(Angular 4)

c++ - 在 Mac El Capitan (OSX 10.11) 上设置 Qt 5.7 OpenGL 版本

macos - 应用程序在后台时出现 NSVisualEffectView 图形错误

arrays - 如何在 React + Typescript 中检查数组中 javascript 对象的所有值是否为真?

javascript - ng-app 使脚本运行到无穷大

javascript - 结合请求全屏和 F11

javascript - jQuery中的remove()后未显示youtube视频

javascript - 检测元素是否超出其父元素的外边界