在Visual Studio中格式化代码

时间:2010-03-18 23:17:58

标签: visual-studio-2008 code-formatting

我继承了一个项目,其中所有私有变量,有数千个,由空行分隔。例如,

    private pnlSecurityReport _pnlSecurityReport = null;

    private pnlCalendar _pnlCalendar = null;

    private CtlContacts _pnlContacts = null;

    private pnlEmails _pnlEmails = null;

    private CtlNotes _pnlNotes = null;

    private pnlRoles _pnlRoles = null;

    private pnlSecurity _pnlSecurity = null;

    private pnlSignatures _pnlSignatures = null;

这真烦人。我想删除空白行。除了编写我自己的工具以寻找和删除额外的行之外,有没有办法在搜索和替换对话框中使用RegEx-Fu执行此操作?

3 个答案:

答案 0 :(得分:4)

尝试将\n\n替换为\n,同时选中Use Regular Expressions

答案 1 :(得分:3)

未经过彻底测试,但这样的方法可行:打开“替换”对话框,选中“正则表达式”,在“查找”文本框中输入{^:b*:w+:b+:i:b+:i:b+=:b+.*;$\n}\n,在“替换”中输入\1用“文本框。

总之;匹配匹配模式word identifier identifier = value;后跟空行的行,标记除最后一个换行符之外的所有匹配项,然后将完整匹配替换为带标记的表达式。

这样做的好处是不会盲目地删除文件中的所有空白行,而只会删除典型的字段或变量声明与值赋值相结合后的空白行。

表达分解:

{    - Start of tagged expression
^    - Match beginning of line
:b*  - Zero or more whitespace characters (such as space or tab)
:w+  - One or more alphabetic characters
:b+  - One or more whitespace characters
:i   - An identifier string
:b+  - One or more whitespace characters
:i   - An identifier string
:b+  - One or more whitespace characters
=    - an equal sign
:b+  - One or more whitespace characters
.+   - One or more characters of any kind
;    - a semicolon
$    - end of the line
\n   - a newline
}    - end of tagged expression
\n   - a newline

答案 2 :(得分:1)

如果你有UltraEdit,你可以替换|使用正则表达式:

查找:^ p $
替换:“”(即没有任何引号,引用用于说明)