[visual-studio] Visual Studio 2008에서 후행 공백을 자동으로 제거하는 방법은 무엇입니까?
파일을 저장할 때 각 줄 끝에서 공백 문자를 자동으로 제거하도록 Visual Studio 2008을 구성 할 수 있습니까? 기본 제공 옵션이없는 것 같습니다.이 작업을 수행 할 수있는 확장 기능이 있습니까?
답변
CodeMaid는 매우 인기있는 Visual Studio 확장이며 다른 유용한 정리와 함께이 작업을 자동으로 수행합니다.
- 다운로드 : https://github.com/codecadwallader/codemaid/releases/tag/v0.4.3
- 최신 다운로드 : https://marketplace.visualstudio.com/items?itemName=SteveCadwallader.CodeMaid
- 문서 : http://www.codemaid.net/documentation/#cleaning
저장시 파일을 정리하도록 설정했는데 이것이 기본값이라고 생각합니다.
답변
정규식을 사용하여 찾기 / 바꾸기
찾기 및 대화 교체, 확장 옵션을 찾아 확인 사용을 선택, 정규 표현식을
찾을 내용 : ” :Zs#$
“
다음으로 바꾸기 : “”
모두 바꾸기를 클릭 하십시오.
다른 편집기 ( 일반 정규식 파서)에서 ” :Zs#$
“는 ” \s*$
“입니다.
답변
이 작업을 수행하기 위해 저장 후 실행되는 매크로를 만들 수 있습니다.
매크로의 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
나는 이것을 문제없이 한동안 사용하고 있습니다. 매크로를 만들지는 않았지만 빠른 Google 검색으로 찾을 수있는 ace_guidelines.vsmacros의 매크로에서 수정했습니다.
답변
저장하기 전에 자동 서식 단축키 CTRL+ K+ 를 사용할 수 있습니다 D.
답변
다음 세 가지 작업으로 쉽게 수행 할 수 있습니다.
-
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