我正在尝试使用Visual Studio宏编辑器
https://visualstudiogallery.msdn.microsoft.com/d3fbf133-e51b-41a2-b86f-9560a96ff62b
允许用户在javascript中编写宏来驱动IDE。我希望能够做的是编写一个格式化文本的宏
public void Foo(
int i,
int b,
int c)
到
public void Foo
( int i
, int b
, int c
)
如果我只知道执行以下操作的命令,这应该是非常简单的。
(1) Move the cursor to the next matching character, and detect if it is not found
(2) Insert a carriage return
(3) Join lines together
我到目前为止
dte.ExecuteCommand("Edit.Find");
dte.Find.FindWhat = ",";
但希望有人可能比我更了解他们的DTE命令。
答案 0 :(得分:1)
(1)将光标移动到下一个匹配的字符,并检测是否找不到它:
DTE.Find.FindWhat = ",";
DTE.Find.Target = EnvDTE.vsFindTarget.vsFindTargetCurrentDocument;
if (DTE.Find.Execute() == EnvDTE.vsFindResult.vsFindResultNotFound)
{
// not found
}
(2)插入回车符:
DTE.ExecuteCommand("Edit.BreakLine");
(3)加入一起行:
Edit.DeleteBackwards
或Edit.Delete
可以在从行的开头或结尾处调用时删除换行符。
(注意:这是我的Visual Commander扩展的语法,但也适用于Visual Studio宏编辑器。)