Тот факт, что несколько языков .NET совместно используют среду выполнения и BCL и могут очень легко общаться друг с другом, обусловлен CLR / CLI, но в конечном итоге VS IDE не просто пишет CLI(неуправляемый C ++ является очевидным примером).Проще говоря, IDE (как и многие другие) спроектирован так, чтобы быть расширяемым.
Если вы хотите, я очень уверен, что можно написать ваш собственный плагин компилятора для VS, используяуправляемый или неуправляемый язык.