Visual Studio 코드-모든 빈 줄 삭제-정규식


133

Visual Studio Code에서 모든 빈 줄을 삭제하는 방법을 알아 내려고 시간을 보냈는데 제대로 작동하지 않습니다. 그것을하는 방법을 아는 사람이 있습니까?

^$검색 필드에 입력하는 동안 검색하면 VSC는 빈 줄 (완전히 빈 줄, 공백이 없음)을 찾지 만 모두 바꾸기를 누르면 제거되지 않습니다. 그것은 아무것도하지 않습니다 : ^ $

공백이있는 빈 줄의 경우 ^\s+$검색이 작동하지만 제거되지는 않습니다. 그것이하는 것은 공백없이 빈 줄로 대체하는 것입니다 :)) ^ \ s + $

내가 뭔가 잘못하고 있어야합니다. 나는 그것이 무엇인지 알 수 없습니다. 아는 사람 있나요? 감사.


1
나는 당신이 이것에 대해 연 문제에 대한 의견을 추가했지만 다른 사람을 위해 $실제로는 줄 바꿈 문자와 일치하지 않으며 줄 바꿈 문자 앞에 존재하는 0 너비 토큰과 일치합니다. 새 줄을 바꾸려면 사용해야 \n하지만 VS Code는 현재 여러 줄 정규식 일치 ( # 313 )를 지원하지 않습니다
Marie

마리 감사합니다. 잠시 기다려야 할 것 같습니다.
jozefk

4
이것을 정규식 모드 ^ $ \ n에서 찾아 공백으로 바꾸면 잘 작동합니다. 행복한 코딩!
사잘 라자 부요

답변:


195

관심이있을 수있는 사람들을 위해-버전 1.3.1에서 나를 위해 일한 (그리고 여전히 1.33.1에서 작동하는) 빈 줄을 삭제 하고 ctrl+ h(찾기 및 바꾸기) alt+ r(정규 표현식 사용)

찾기 상자에서 다음을 수행하십시오.

\n\n

교체 상자에서 :

\n

이것은 두 개의 연속적인 줄 끝을 하나로 만들어야합니다.

편집 :

한 번에 더 많은 빈 줄 (2 개 이상)을 교체해야하는 경우 찾기 상자에서 다음 정규식을 사용할 수 있습니다.

\n+

빈 줄도 공백으로 바꾸려면 찾기 상자에 다음 정규식을 사용해야합니다.

\n+\s*\n

VS 코드는 자바 스크립트 정규 표현식을 사용하고 있습니다


10
이 라인들과 함께 다음을 사용합니다.^[\r\n]{3,}
RJ Cuthbertson

지금 작동하고 있습니다. 고마워 :) 많은 VSC 버전 사이에 있지만 괜찮습니다. \ n \ n을 \ n으로 바꾸십시오.
jozefk

또한 아래 @Dzumret 솔루션을보십시오. 내 솔루션에서는 아무것도없는 줄만 삭제합니다. 그의 해결책은 공백 문자 (공백, 탭)가있는 줄을 삭제합니다.
suchoss

빈 줄에 공백이 있으면 어떻게
합니까?

1
큰! 빈 줄을 두 개 이상 제거하려면 \ n +를 \ n으로 바꿨습니다. 공백을 인식하려면 (^ \ s * \ n) +를 아무것도 대체하지 마십시오
Ilario

114

이 정규식 패턴도 작동합니다.

^\s*$\n

그런 다음 CTRL+Enter모든 줄을 바꾸십시오.

위 패턴의 설명 :

-----------------------------------------------
|  ^ | beginning of string anchor             |
-----------------------------------------------
| \s | any whitespace character               |
-----------------------------------------------
| '*'| zero or more repetitions               |
-----------------------------------------------
|  $ | end of string anchor                   |
-----------------------------------------------
| \n | new line                               |
-----------------------------------------------

확실하지 않지만 이것이 나에게 도움이되었습니다. 다른 모든 대답과 비교하십시오. 잘 설명했다. 감사합니다.
사이

배치 \n앵커 외부를 것이 나를 위해 일한 것입니다. 그런 다음 VSCode는 아무것도 대체하지 않습니다 (공백 "바꾸기"필드).
에릭

46

Visual Studio Code 1.13.0 Linux Lite :

  • 조회수 CTRL+H
  • "정규 표현식 사용"을 선택하십시오
  • 찾기 상자 : ^ (\ s) * $ \ n (필요에 따라 많은 엔딩 \ n 입력)
  • 상자 교체 : 빈
  • 모두 바꾸기를 클릭하십시오.

빈 줄이 없어졌습니다!


18

여기 내 정규 표현식이 있습니다. 공간, 탭 등을 포함하는 여분의 새 줄과 빈 줄을 모두 잡습니다.

\n\s*\n

그리고 나는 모든 경기를 \n

설명

\n       : New Line
\s*      : Zero or more consecutive white space characters or new lines
\n       : Another New Line

추신 : 검색 창에서 정규식 옵션을 선택해야합니다!


13

VS 코드의 바꾸기 대화 상자에서 ^ \ s * \ n을 사용해보십시오-

여기를 보아라


6

아니, 넌 잘하고있어

나는 동일한 행동을 여기에서 얻는다.

나는 또 다른 정규 표현식을 시도했다. (\r?\n){2,} 한 줄에서만 작동하는 것 같습니다.

기본 정규 표현식 동작을 변경하는 것이 좋을 수도 있고 VS가 그런 방식으로 구축되었을 수도 있습니다 (라인 기반)

물론 다른 텍스트 편집기에서 잘라 내기 및 붙여 넣기를하는 것은 큰 문제가 아닙니다.


3
나는 모든 교체 후에 만이 나에게 도움 ^\s*$빈과를, 나는 시도(\r?\n){2,}
미하이 포 페스 쿠에게

4

나는 당신에 대해 모르지만, 많은 시간을 낭비하는 이음새를 외울 수 있습니다!

"Blank Line Organizer"확장명을 사용하십시오. 설명은 다음과 같습니다.

이 확장은 빈 줄을 여러 개 제거하여 코드에서 빈 줄을 구성하는 데 도움이됩니다. 확장 프로그램은 선택된 줄에서만 빈 줄을 제거하고, 그렇지 않으면 전체 파일에서 빈 줄을 제거합니다.

그것을 사용하는 방법 : 확장에 대한 설명을 확인하지만 실제로는 솔기가 좋습니다!

blankLine.triggerOnSave boolean true    If set to true, the command will be triggered on save.

즉, 파일을 저장 한 후 자동으로 정리됩니다!


안녕하세요 @Jun! Sublime Text3를 사용하는 Im은 많은 문제를 해결했으며 더 가볍고 멋진 기능을 가지고 있습니다.
Marcelo Agimóvel

Sublime Text3에 어떤 플러그인을 사용합니까? 나는 Webstorm을 사용했고 내장되어 있습니다.
Jun711

HTML / CSS / JS Prettify
Marcelo Agimóvel

3

Visual Studio에서 다음이 가장 효과적이라는 것을 알았습니다.

교체 : ^\n$ 함께 : <no value here>

빈 줄을 모두 찾아서 지 웁니다.


3

내 경우에. kobi7 솔루션 (\r?\n){2,}은 저에게만 효과가 있었으므로 작은 행으로 다시 실행하여 한 줄로 작동하도록했습니다 (2에서 1로 변경).

^(\r?\n){1,}

0

Code Maid Extension 만 있으면됩니다. 단축키 Ctrl M + 스페이스 바를 사용하여 파일을 정리하면 빈 줄이 제거되고 코드가 포맷됩니다. 형식 및 정리 규칙에 대해 구성 할 수도 있습니다. 이것이 유용하기를 바랍니다.


찾을 수 없습니다 (Manjaro Linux에서).
Marcelo Agimóvel

2
Visual Studio 코드 확장이 아닌 Visual Studio 확장이기 때문입니다.
르네 Juuse



-1

바꾸기 : ^ \ n $ 다음으로 : "공백"


문서의 빈 공간을 모두 제거 하시겠습니까?
Angry 84

-4

Windows 10, Visual Studio 2015

Ctrl + H

찾기 ...-> ^ \ s *

전부 교체

Ctrl + A

Ctrl + K + F

질문 해 주셔서 감사합니다. 새로운 것을 배웠습니다.


5
Visual Studio 2015는 Visual Studio Code가 아닙니다.
Robert Kaucher
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.