Подтвердить что ты не робот

Typescript скомпилировать с сохранением с помощью Visual Studio 2013?

Я не могу заставить Compile-on-Save работать с VS2013. Я установил VS2013, переустановил TS 0.9.0.1 и в разделе "Инструменты", "Параметры", Typescript/Project/General, я проверил оба параметра "Скомпилировать при сохранении". Но когда я добавляю новый TS файл в свой проект, а затем редактирую его и сохраняю, изменения не отражаются в связанном файле .js.

Я что-то делаю неправильно? У кого-нибудь еще такая проблема?

4b9b3361

Ответ 1

Это решило проблему для меня:

  • Перейдите в раздел "Параметры" в меню "Сервис".
  • Развернуть параметры для текстового редактора
  • Разверните параметры TypeScript
  • Развернуть параметры проекта
  • Проверить "Автоматически компилировать файл TypeScript, который не является частью проекта"

Ответ 2

У меня была следующая ситуация: проект был создан с использованием vs2012 и более ранней версии typescript. Я обновился до версии VS2013, а последняя версия typescript (0.9.1.1) и скрипты не были скомпилированы при сохранении.

Затем я исключил файл typescript из моего проекта и снова добавил его, используя Добавить существующий файл. После этого файл typescript компилируется с сохранением!

Ответ 3

TypeScript 0.9.5 компиляция с сохранением перестала работать для меня в существующем проекте после того, как я обновился до Web Essentials 1.85 (14 февраля). Я переустановил оба безрезультатно, но, увидев, что он работает для новых проектов, я попытался изменить эту строку в своем csproj, из этого:

<Project ToolsVersion="4.0" />

к

<Project ToolsVersion="12.0"/>

И волшебным образом, скомпилировать с сохранением снова начал работать.

Ответ 4

Попробуйте выполнить следующие инструкции:

Compile-on-Save

Я изо всех сил пытался обнять голову, но я думаю, что я ее отсортировал. Я думаю, что часть путаницы объясняется различиями в подходах между WebEssentials и новой интеграцией плагинов TypeScript.

Я был ранним усыновителем TypeScript и использовал инструмент WebEssentials в 2012 году для компиляции с сохранением. У меня было настроено создание файлов .js и .min.js, которые были добавлены в проект автоматически.

При обновлении до VS 2013 я искал ту же функциональность из встроенной поддержки TypeScript, но ее не существует (насколько я могу судить).

Вместо этого я полагаю, что интегрированная оснастка в 2013 году охватывает как рабочие процессы разработки, так и производства.

В приведенных выше инструкциях вам необходимо настроить компиляцию времени сборки, которая должна произойти во время выпуска. Во время разработки функция "Скомпилировать при сохранении" генерирует файлы на диске, но не добавляет их в проект.

Затем я понял, что сгенерированные файлы фактически не должны быть частью проекта, как было раньше, и почему это лучше, чем решение WebEssentials (исключая отсутствие окна предварительного просмотра!).

Ответ 5

Для меня, даже если Compile-on-save работает (Visual Studio 2013), если кто-то еще попытался запустить веб-проект, он не будет автоматически генерировать файлы javascript. В моем проекте я включил файлы *.js и *.js.map, чтобы IIS не брал новую версию при изменении файлов *.ts. Но эти файлы не включены в исходный элемент управления.

Что я сделал, так это то, что я включил следующую строку в конец файла проекта csproj:

<Target Name="AfterBuild">
  <Exec Command="tsc.exe --sourcemap _core.ts" WorkingDirectory="$(MSBuildProjectDirectory)\js" />
</Target>

где _core.ts - это файл в папке js, который, я уверен, ссылается на все файлы прямо или косвенно через заголовки в начале.

/// <reference path="_dependent.ts" />
...

так что tsc.exe обрабатывает все зависимые файлы.

Ответ 6

Помимо вышеописанных шагов, если компиляция при сохранении еще не работает, пометьте свой проект как проект запуска (в проводнике VS 2013, щелкните правой кнопкой мыши, установите как проект StartUp).

Это решение было найдено на Codeplex by nicholasjgreen и опубликовано в комментариях на http://typescript.codeplex.com/wikipage?title=Compile-on-Save.

Ответ 7

Я решил эту проблему, добавив функцию в конец файла Typescript. Это не сработало, когда "новая" функция была введена в верхней части страницы (перед другими функциями), но когда я добавил ее ниже последней функции, с которой она работала. Только три часа!

Ответ 8

Добавили ли вы typescript файлы с помощью drag'n'drop? Тогда может быть, что действие сборки файлов имеет неправильное значение. Используйте окно свойств файлов (F4 или alt + enter) и проверьте действие сборки там...

Ответ 9

Эта функция немного проще найти, используя следующий метод. (VS2015)

  • Перейдите в раздел Инструменты > Параметры.
  • Убедитесь, что у вас есть "Показать все настройки" . Это флажок в нижней части окна.
  • Поместите " typescript" в строку поиска и нажмите клавишу ввода.
  • Теперь список должен быть отфильтрован. Перейдите к настройке: Текстовый редактоp > Typescript > Проект > Общие.
  • Теперь выберите " Автоматически компилировать Typescript файлы, которые не являются частью проекта". Нажмите OK.