Отладка кода машинопись с Visual Studio

голоса
67

Есть ли способ отладки источника машинописи в Visual Studio (вместо отладки сгенерированного JavaScript)?

Из спецификации языка Машинопись:

Машинопись необязательно обеспечивает карты источника, разрешив отладку на уровне исходного кода.

Поэтому я ожидал, чтобы иметь возможность размещать точки останова в коде TS и иметь возможность отладки, но это не работает. Я не нашел ни другие упоминания отладки в спецификации. Что я должен сделать, чтобы сделать эту работу? Возможно, слово «необязательно» намекает, что мне нужно сделать что-то для того, чтобы работать ... Есть предложения?

Задан 03/10/2012 в 16:32
источник пользователем
На других языках...                            


6 ответов

голоса
63

Дополнение от VS 2017 года:

VS2017 теперь работает для отладки машинописного непосредственно в Visual Studio, так же, как если бы вы отладка C #. Смотрите мой ответ ниже.

Оригинальный ответ на предыдущие версии VS:

Вы не можете быть в состоянии отладки в VS, но вы можете в некоторых браузерах. Аарон Пауэлл писал о получении контрольных точек , работающих в Chrome Canary только сегодня: https://www.aaron-powell.com/posts/2012-10-03-typescript-source-maps/ .

Суммируя (очень кратко) , что говорит Аарон, вы используете -sourcemapпереключатель на компилятор , чтобы сгенерировать *.js.mapфайл в том же каталоге, что и источник. В браузерах , которые поддерживают карты источника (Chrome Canary, и , предположительно , недавний Firefox строит, так как они являются идеей Mozilla), вы можете отлаживать .tsисточник так же , как вы бы нормальные .jsфайлы.

Блог заканчивается «Надеюсь, либо Visual Studio или IE (или оба) команда также подобрать Source Карты и добавить поддержку для них тоже.» - который предполагает, что до сих пор не произошло.

Обновить:

С выпуском машинописи 0.8.1, Source Карта отладка теперь также доступна в Visual Studio:

http://blogs.msdn.com/b/typescript/archive/2012/11/15/announcing-typescript-0-8-1.aspx

Из анонса:

отладка Машинопись теперь поддерживает отладку на уровне источника! Карта исходный формат набирает популярность как способ отладки языков, которые транслируют на JavaScript и поддерживается различными браузерами и инструментов. Начиная с версии 0.8.1, машинописи компилятор официально поддерживает исходные карты. Кроме того, новая версия Машинопись для Visual Studio 2012 поддерживает отладку с использованием формата источника карты. Из командной строки, теперь мы полностью поддерживаем использование --sourcemap флага, который выводит исходный файл карты, соответствующий выходу JavaScript. Этот файл позволит непосредственно отладке оригинала машинописи в исходных картах с поддержкой браузеров и Visual Studio. Чтобы включить отладку в Visual Studio выберите «Debug» из выпадающего меню после создания HTML-приложения с машинописью проектом.

Обновление :

WebStorm также добавлена поддержка для отладки через SourceMaps: http://blog.jetbrains.com/webide/2013/03/webstorm-6-0-released-adds-typescript-debugging-with-source-maps-fresh-ui- и многое другое/

Во-первых, WebStorm позволяет умнее и более обтекаемый веб-разработки с современными языками, такими как машинопись, CoffeeScript и дротик. В дополнении к предоставлению редактора кода первого класса для этих языков, WebStorm 6 предложений:

Автоматический сбор / transpilation этих языков высокого уровня в которые распознаются браузерами на всех поддерживаемых платформах. Полнофункциональная отладка машинопись, Dart или CoffeeScript с картами источника.

Ответил 03/10/2012 в 16:34
источник пользователем

голоса
14

С применением VS2013 машинопись, у меня не было ничего менять в web.config. Я поставил точку останова в файле TS и отлажен в IE, и вуаля, точка остановилась внутри машинописи.

Ответил 11/12/2013 в 01:46
источник пользователем

голоса
3

Сейчас эта проблема решена в VS 2017 года, так что вы можете отлаживать непосредственно в Visual Studio и машинописи.

Просто установите контрольную точку в вашем * ts-файл, и это будет удар.

И это будет отлаживать в VS, а не IE, как если бы вы отладки C #.

Ответил 03/12/2016 в 05:51
источник пользователем

голоса
3

Отладка машинопись с Visual Studio работает с правильными настройками. (В предыдущих версиях VS я иногда сталкиваются с проблемами, ниже, как это прекрасно работает с VS 2015 CTP 6)

  1. Прежде всего , убедитесь , что вы создаете карты источника при компиляции машинописи в JavaScript. Таким образом , вы должны иметь файл xxx.js.map возле каждого xxx.js.

    Получение исходных карт, запустив машинопись компилятор вне Visual Studio не вызывает каких-либо затруднений, в командной строке TSC добавить

    --sourcemap %1.ts
    

    ваш глоток сценарий обычно создает sourcemaps по умолчанию.

  2. Настройка веб - приложения в Visual Studio .

    Установите Internet Explorer в качестве начального браузера. Я получил это работает только с IE и не думаю , что любой другой браузер будет работать.

    В проекте свойства перейдите на вкладку «Web» и настроить раздел «отладчиков» в нижней части : Отключить все отладчик ! Это противоречит intutitive , и вы можете увидеть это сообщение об ошибке:

    Вы попытались запустить отладчик, но на основе текущих настроек отладки на странице веб-свойств не существует процесса отладки. Это происходит, когда «Не открывать страницу. Подождите запрос от другого процесса» выбран вариант, и отладка ASP.NET отключена. Пожалуйста, проверьте настройки на странице свойств веб и повторите попытку.

    Как сказано в сообщении об ошибке Start Action в верхней части веб - свойства должны быть еще один вариант, как « Текущая страница ».

    Установите контрольные точки в вашем TS кода в Visual Studio сейчас или позже.

    Нажмите F5

В то время как вы можете использовать Visual Studio редактор для отладки и редактировать файлы ерей «Изменить и продолжить» не будет работать, нет в настоящее время ни один браузер, который может перезагрузить JS и js.map файлы и продолжать. (Поправьте меня кто-нибудь, если я не прав, и я буду счастлив.)

Ответил 06/04/2015 в 05:52
источник пользователем

голоса
2

отладка машинописи не работает для меня вообще с VS2013 обновлением 3 на любом из моих машин. После того, как много разочарований, я решил попробовать обновить до VS2013 Update 4 CTP. Наконец точки останова попадания в VS!

Ответил 31/10/2014 в 15:55
источник пользователем

голоса
0

Короткий ответ: Перезапуск Visual Studio

фон: У меня было 2 Visual Studio 2015 экземпляров с двумя различными проектами с машинопись. Первым начал экземпляр не отлаживать правильно, второй один сделал. Все параметры проекта были одинаковыми. Я, наконец, перезапущен первый экземпляр, а затем она отлажена машинопись (в конце концов).

Ответил 14/02/2017 в 10:16
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more