Re: BuildAction для файла nitra-based языка
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.01.17 06:48
Оценка: 2 (1)
Здравствуйте, meadow_meal, Вы писали:

_>Я могу подключить файлы с заданным расширением к проекту C# (csproj), установить им BuildAction Compile и получить работающую подсветку, навигацию и т.п., но студия делает также попытку скомпилировать их как C# файлы, выдает тонну ошибок и фэйлит проект.


При компиляции запускается стандартный компилятор C#, ну, и он, естественно, вашего языка не знает. Решить эту проблему можно двумя способами:
1. Подхачить сам проект переопределив таск ответственный за сборку.
2. Использовать BuildAction "Nitra". Его надо хотя бы для одного файла задать вручную (иначе студия на даст его указать в GUI). Для этого надо открыть файл проекта, найти текг "<Compile..." со своим файлом, и поменять "Compile" на "Nitra". После этого в студии будет доступен BuildAction "Nitra".

_>Во всех остальных случаях (другой BuildAction или файлы не принадлежащие проекту) в логе появляется эксепшн Can't find file with id=xxx, и интеграция не работает.


Это не доработка. Файлы не входящие в проекты солюшена должны попадать в фэйковый проект "misc".

_>Вопросы:

_>Есть ли возможность получить работающую интеграцию внутри C# проекта?

Да. AMMY именно так и работает (в режиме препроцессора).

_>Есть ли возможность получить работающую интеграцию для файлов, не относящихся ни к одному проекту?


Это будет чуть позже. Сейчас я бьюсь над тем, чтобы плагины надежно работали в C# и Nemerle проектах. Там, к сожалению, не все так просто. Когода закончю постараюсь разобраться с misc-проектом. По идее он и так должен работать, но видимо "что-то пошло не так" (ц).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.