Chr*_*isN 120 visual-studio-2008 visual-studio
是否可以将Visual Studio 2008配置为在保存文件时自动删除每行末尾的空格字符?似乎没有内置选项,那么有没有可用于执行此操作的扩展?
Gre*_*gle 71
使用正则表达式查找/替换
在查找和替换对话框中,展开查找选项,选中使用,选择正则表达式
找到什么:" :Zs#$"
替换为:""
单击全部替换
在其他编辑器(正常的正则表达式解析器)中," :Zs#$"将是" \s*$".
ars*_*in3 65
CodeMaid是一个非常流行的Visual Studio扩展,可以自动执行此操作以及其他有用的清理.
我将其设置为在保存时清理文件,我认为这是默认设置.
小智 30
您可以创建一个在保存后执行的宏来为您执行此操作.
将以下内容添加到您的宏的EnvironmentEvents模块中.
Private saved As Boolean = False
Private Sub DocumentEvents_DocumentSaved(ByVal document As EnvDTE.Document) _
Handles DocumentEvents.DocumentSaved
If Not saved Then
Try
DTE.Find.FindReplace(vsFindAction.vsFindActionReplaceAll, _
"\t", _
vsFindOptions.vsFindOptionsRegularExpression, _
" ", _
vsFindTarget.vsFindTargetCurrentDocument, , , _
vsFindResultsLocation.vsFindResultsNone)
' Remove all the trailing whitespaces.
DTE.Find.FindReplace(vsFindAction.vsFindActionReplaceAll, _
":Zs+$", _
vsFindOptions.vsFindOptionsRegularExpression, _
String.Empty, _
vsFindTarget.vsFindTargetCurrentDocument, , , _
vsFindResultsLocation.vsFindResultsNone)
saved = True
document.Save()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Trim White Space exception")
End Try
Else
saved = False
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
我已经使用了一段时间,没有任何问题.我没有创建宏,但是从ace_guidelines.vsmacros中修改它,可以通过快速谷歌搜索找到它.
小智 9
您可以使用以下三个操作轻松完成此操作:
Ctrl+ A(选择所有文字)
编辑 - >高级 - >删除水平空格
编辑 - >高级 - >格式选择
等几秒钟完成.
如果出现问题,它是Ctrl+ Z'能够的.
从已经给出的所有答案中取出元素,这是我最终得到的代码.(我主要编写C++代码,但根据需要很容易检查不同的文件扩展名.)
感谢所有贡献的人!
Private Sub DocumentEvents_DocumentSaved(ByVal document As EnvDTE.Document) _
Handles DocumentEvents.DocumentSaved
Dim fileName As String
Dim result As vsFindResult
Try
fileName = document.Name.ToLower()
If fileName.EndsWith(".cs") _
Or fileName.EndsWith(".cpp") _
Or fileName.EndsWith(".c") _
Or fileName.EndsWith(".h") Then
' Remove trailing whitespace
result = DTE.Find.FindReplace( _
vsFindAction.vsFindActionReplaceAll, _
"{:b}+$", _
vsFindOptions.vsFindOptionsRegularExpression, _
String.Empty, _
vsFindTarget.vsFindTargetFiles, _
document.FullName, _
"", _
vsFindResultsLocation.vsFindResultsNone)
If result = vsFindResult.vsFindResultReplaced Then
' Triggers DocumentEvents_DocumentSaved event again
document.Save()
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Trim White Space exception")
End Try
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69463 次 |
| 最近记录: |