用于格式化代码逗号的visual studio宏

时间:2016-10-03 14:53:37

标签: visual-studio macros

我正在尝试使用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命令。

1 个答案:

答案 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.DeleteBackwardsEdit.Delete可以在从行的开头或结尾处调用时删除换行符。

(注意:这是我的Visual Commander扩展的语法,但也适用于Visual Studio宏编辑器。)