Я пытаюсь создать маржу (через MEF) как надстройку VS. Мне нужно получить строки, которые содержат определение метода. Я обнаружил, что люди делают такие вещи, но, похоже, большинство из них - это анализ разбора. Это кажется очень плохой идеей, поскольку она, очевидно, будет работать только с теми языками, которые вы знаете, как анализировать.
В дополнении я могу получить программный доступ к документу, используя модель более высокого уровня:
var fcm = _application.ActiveDocument.ProjectItem.FileCodeModel;
var elem = fcm.CodeElementFromPoint(point, vsCMElement.vsCMElementFunction);
Как пример.
Есть ли способ сделать это из MEF, когда вы пытаетесь нарисовать поле?