Поделюсь некоторыми изысканиями по работе с новой версией.
В предыдущих версиях АХ я использовал метод на EditorScripts для простановки комментариев. т.е. без выделения добавлялась просто строка(//модификация, дата), с выделением текста комментарий добавлялся перед и после выделенной строчки.
Начав писать код в AX7 обнаружил что класса EditorScripts теперь нет. Более того, поиск выявил что в Visual Studio 2015 из коробки вообще нет аналогов.
есть Snippets, но в них нет возможности выполнять код, т.е. проблематично добавить автоматом текущую дату.
Поиск позволил найти тулзу Visual Commander (
https://vlasovstudio.com/visual-commander/index.html), которая являясь AddIns для VS2015 представляет средство по идеологии напоминающее EditorScripts. Собственно сам метод будет выглядеть так
X++:
using EnvDTE;
using EnvDTE80;
public class C : VisualCommanderExt.ICommand
{
public System.String getCurText()
{
System.String s;
s = "Current modification";
return s;
}
public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package)
{
EnvDTE.TextSelection ts = DTE.ActiveDocument.Selection as EnvDTE.TextSelection;
System.String s = "//" + this.getCurText() + ", User name " + System.DateTime.Now.ToString("dd.MM.yyyy");
if (ts.Text != "")
{
int StartLine = ts.TopLine;
int EndLine = ts.BottomLine;
ts.GotoLine(StartLine);
ts.StartOfLine((EnvDTE.vsStartOfLineOptions)(1));
ts.Insert(s + " -->");
ts.NewLine(1);
ts.GotoLine(EndLine + 1);
ts.EndOfLine();
ts.NewLine(1);
ts.Insert(s + " <--");
}
else
{
ts.Text = s;
}
}
}