none
Как получить управление процессом прекомпиляции проекта? RRS feed

  • Вопрос

  • Подскажите, пожалуйста, каким образом можно вклиниться в процесс прекомпиляции в Visual Studio, получить управление над процессом?

    17 июня 2014 г. 13:35

Ответы

Все ответы

  • Попробуйте описать более развёрнуто, что конкретно вам нужно и проблему в целом.

    Сделаем содержимое сообщества лучше, вместе!

    17 июня 2014 г. 14:52
    Модератор
  • Если в целом, то мне необходимо управлять содержимым ErrorList, и подсветкой в редакторе. Ну знаете, когда вы например, в коде делаете какую-нибудь ошибку, и тут же вам "на лету" показывается в ErrorList эта ошибка и она же подсвечивается в коде. 

    Проблема в сборке TypeScript-файлов. У нас сделана своя сборка TypeScript-файлов, так как до выхода Update 2 Visual Studio 2013, js-файлы не публиковались на сервер. 

    Кроме этого, есть отдельный проект с общими модулями из TypeScript файлов, которые используются в нескольких соседних проектах. Раньше приходилось обновлять папку со скриптами и в общем проекте, и во всех других, после внесения изменений. Затем, была сделана сборка TypeScript-файлов из нескольких проектов, и все отлично работает на build-сервере и локально если запустить сборку то мы увидим что rebuild successeful (это было достигнуто написанием пары своих target'ов), но тем не менее в ErrorList в итоге получается более 100 ошибок. Проблема понятна, эти ошибки возникают из-за того что файлы не в проекте. Хоть с итоговой сборкой все нормально, но вы понимаете, что это неудобно в разработке, так как среди этих 100 псевдоошибок могут затеряться реальные ошибки. 

    Я так понимаю что через Target'ы это решить не получится, точно также наверняка не получится это решить через requirejs (то есть через опцию в Tools --> Options --> Text Editor --> Type Script --> Project --> Compile on Save --> Automatically compile typescript files which are not part of a project).

    (Хотя есть сомнения по поводу опции Automatically compile typescript files which are not part of a project, вроде с первого взгляда кажется что это решение). 

    Как мне кажется, тут необходимо каким-то образом поймать это событие прекомпиляции файлов в проекте, и в список компилируемых файлов добавить еще файлы из общего проекта. 

    Собственно, проблема тут с перехватом этого события прекомпиляции, в какую сторону стоит смотреть, в сторону VSIX, или все-же стоит попробовать Compile on Save?

    18 июня 2014 г. 7:43
  • По сути, это, наверное, получается реализация Reference'а на соседний проект.
    18 июня 2014 г. 10:11
  • Да, в общем-то. Можно, конечно, с помощью расширения студии (VSX) написать написать свой тип проектов (то что видно в solution explorer + таргеты компиляции) и language service (подсветка, работа с синтаксисом языка - интеллисенс и тп.), но это получится сделать не слишком быстро и довольно муторно. 

    Думаю, проще (и правильнее) вашу проблему будет решать отладив кастомные таргеты, чтобы не "мусорили"  в Error List


    Exclusive access to top developers. Remote job for top developers.

    18 июня 2014 г. 23:29
  • Решение этой проблемы было найдено, теперь возникла другая проблема. 

    http://social.msdn.microsoft.com/Forums/ru-RU/ea6f6b89-613d-4a4c-9c5e-1ae5d63827f7/-?forum=vsru

    19 июня 2014 г. 7:55