Здравствуйте, 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-проектом. По идее он и так должен работать, но видимо "что-то пошло не так" (ц).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.