2015-04-30 3 views
3

Microsoft только что выпустила новый код Visual Studio для платформы Mac OS X. Он поддерживает TypeScript, в котором можно получить автозаполнение и отчет об ошибках для кода типа TypeScript.Как скомпилировать файл TypeScript из нового кода Visual Studio в Mac OS X

Мой вопрос: как мы можем скомпилировать файл TypeScript (для создания соответствующего файла JavaScript) из кода Visual Studio? Я создал файл tsconfig.json по умолчанию, как было рекомендовано, с помощью {} и попытался вызвать команду shift + + B, но это не создает обновленный файл JavaScript.

+0

Вы просто не можете увидеть его в браузере решений, или он вообще не работает? –

+0

Здесь можно проверить мой ответ http://stackoverflow.com/questions/30050262/visual-studio-code-compile-typescript-module/30619684#30619684 – khagesh

ответ

5

Вам нужно будет настроить задачу для этого.

Заранее прошу прощения, если я получу короткие сокращения, поскольку я сижу, используя другую операционную систему. Для тех, кто использует Windows, это будет CTRL. Я думаю, что версия OSX означает вместо этого использовать CMD.

Если вы нажмете CTRL + SHIFT + P, вы должны получить меню действий, которое позволяет выполнять поиск по всем командам.

Тип Configure Task Runner. Если у вас его еще нет, это создаст файл tasks.json в папке настроек для вас. В противном случае он откроет существующий файл tasks.json.

Вы можете раскомментировать задачу машинопись, которая встроена в - это выглядит следующим образом (мой основной файл 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 (обратите внимание на пробел после «задачи»), и это даст вам список всех задач, для вас, чтобы выбрать из.

Ваши руки не должны оставлять клавиатуру для любого из этого!

Наконец ... если вы все еще ничего не видите, проверьте этот значок в нижней части окна, так как у вас может быть ошибка компилятора ... (на приведенных ниже значках отображается одна ошибка - щелкните по нему в своем редакторе для Детали).

Building/Errors/Warnings

+3

У меня есть файл tasks.json, как описано выше в статье Стив Фентона (за исключением того, что вместо app.ts я закодировал имя моего файла TypeScript). Когда я запускаю его через CMD + SHIFT + B, я вижу, что эта вертикальная линия вращается вокруг, указывая на то, что происходит какая-то активность, но не создается новый выходной файл JavaScript, который соответствует моему последнему коду типа. –

+0

@RichardFuhr вы можете поделиться своими файлами со мной, чтобы я мог увидеть, смогу ли я воссоздать проблему. Мне в основном нужен ваш tsconfig.json и ваш файл tasks.json. – Fenton

0

Я нашел решение, которое работало на Mac. В строке args я помещаю полное имя пути для файла TypeScript, который я хотел бы скомпилировать. Затем запуск сборки с использованием CMD + SHIFT + B успешно выполнил компилятор tsc и успешно сгенерировал соответствующий файл JavaScript.

1

Вам нужен файл tsconfig.json определить все варианты машинописи компилятора, а файл tasks.json установить параметры компилятора.

tsconfig.json

{ 
    "compilerOptions": { 
     "target": "ES5", 
     "module": "amd", 
     "sourceMap": false 
    } 
} 

tasks.json ... Смотрите линии "арг" с $ {файл} компилировать открытый файл.

{ 
    "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": ["${file}"], 

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

Подробнее: http://blogs.msdn.com/b/typescript/archive/2015/04/30/using-typescript-in-visual-studio-code.aspx

2

я столкнулась с той же проблемы с TSC transpiler (, поскольку он компилирует исходный код из одного формата в другой) не создает файл «.js».

Обход:

Попробуйте выполнить следующую команду в вашем командной строке Windows (cmd.exe - Запуск от имени администратора):

tsc test.ts

Убедитесь, что вы находитесь в правый путь к папке или предоставить абсолютный путь для файла «.ts»

enter image description here

Надеюсь, он должен сгенерировать файл «.js» в той же папке, что и файл «.ts».

Теперь, когда создается файл «.js», чтобы избежать выполнения указанной команды каждый раз, когда вы вносили изменения, вы можете выполнить автоматическую транспиляцию watch команда в tsc.

Чтобы выполнить автоматическую transpilation для файла «.ts», попробуйте выполнить следующую команду:

tsc test.ts --watch 

Теперь, если вы вернетесь к вашей «.ts» файл и внести изменения и нажмите Сохранить , он выполнит автоматическую транспиляцию и обновит ваш файл «.js» мгновенно. Не забудьте сохранить приглашение командной строки.

Я еще исследовать причину, почему TSC transpiler не работает на Ctrl + Shift + B нажатии клавиши Visual Studio Code, но моя догадка была бы проблема с версией на TSC используется моей визуальной установкой студии коды или переменная среды PATH определена или npm установлена ​​другая версия tsc .. причины могут быть краткими.

Выход:

enter image description here

Но для тех, кто хочет получить вещи сделано быстро, я надеюсь, что это временное решение помогает.