VS 코드에서 태그 줄 바꿈을 수행하는 방법은 무엇입니까?


170

선택한 html을 VS 코드의 태그로 래핑하고 싶습니다. 어떻게합니까?


1
VSCode로 완전히 옮겨서 Sublime을 버릴 수없는 이유 중 하나입니다.
budji

3
@budji 그것은 emmet에 내장 된 기능입니다 ... 당신이 원할 수있는 거의 대부분은 또한 확장이며, 그렇지 않다면 항상 자신만을 만들 수 있습니다.
James Coyle

나는이 질문을 좋아하고 확장 전화 (Abbrevation이있는 Emmet Wrap)를 알고 있지만 역 행동을하는 방법을 아는 사람은 누구나 있습니다. 예를 들어 : 먼저 <p> ... </ p>를 작성하고 <u> ** </ u> 안에 포함하여이 결과를 <p> ... <u> ** </ u> ... </ p>
Jmainol

답변:


342

임베디드 Emmet 이 트릭을 수행 할 수 있습니다.

  1. 텍스트 선택 (선택 사항)
  2. 명령 팔레트 열기 (일반적으로 Ctrl+ Shift+ P)
  3. 실행 Emmet: Wrap with Abbreviation
  4. 태그 div(또는 약어 .wrapper>p)를 입력하십시오
  5. 히트 Enter

키 바인딩에 명령을 할당 할 수 있습니다.

여기에 이미지 설명을 입력하십시오


이 것은 심지어 인수 전달을 지원합니다.

{
    "key": "ctrl+shift+9",
    "command": "editor.emmet.action.wrapWithAbbreviation",
    "when": "editorHasSelection",
    "args": {
        "abbreviation": "span"
    }
},

다음과 같이 사용하십시오.

  • span.myCssClass
  • span#myCssId
  • b
  • b.myCssClass


4
이것이 답이되어야합니다. emmet은 이미 vscode에 설치되어 있습니다
Nathan

15
Ctrl+ p는 goToFile입니다. 명령 팔레트는 Ctrl+ Shift+ P입니다.
Alex


1
VSCode 1.35.0 (및 이전 버전)을 사용하면 JSX와 함께 작동합니다. 추가 구성이 필요하지 않습니다.
davnicwil

98

VSCode 시장에 빠른 검색 : https://marketplace.visualstudio.com/items/bradgashler.htmltagwrap .

  1. VS 코드 빠른 열기 시작 ( Ctrl+ P)

  2. 붙여 넣기 ext install htmltagwrap및 입력

  3. HTML을 선택하십시오

  4. Alt+ W( Mac의 경우 Option+) W를 누릅니다 .


3 단계에서 설치를 선택해야 할 것입니다.
Samir

1
"사용하려면 코드 덩어리를 선택하고"Alt + W "(Mac의 경우"Option + W ")를 누르십시오." 충분히 간단합니다! 작동하지 않는 것을 제외하고. VS Code 1.16.1로 버전 0.0.3을 사용해 보았습니다. 그것은 거의 작동합니다. 더 제정신이 <p></p>아닌 일반적인 <div></div>것 대신 선택을 태그 로 감싸려고합니다 . 더 나쁜 것은 실패한다는 것입니다. 그것은 같은 출력을 생산합니다<p><p>My selected text.</p>
Samir

1
나는 그런 다른 확장을 시도했다. 그러나 지금까지 나는 작동하는 것을 찾지 못했습니다. 이것은 작동하는 솔루션에 가장 가깝습니다. David Taylor의 랩 0.0.1을 시도했지만 Ctrl + i가 전혀 작동하지 않았습니다.
Samir

1
업데이트 : 확장 기능이 올바르게 작동하고 위의 문제를 해결합니다. 더 이상 중복 태그가 없으며 이제 설정을 통해 삽입하려는 태그를 사용자 정의 할 수 있습니다. 따라서 태그를 원하는 경우 <div>다음 설정을 추가하십시오 "htmltagwrap.tag": "div".
bgashler1

구현이 매우 좋지 않습니다. 단일 태그에서 작동합니다. 구성 가능한 태그 선택에서 태그로 선택을 래핑 할 수있는 notepad ++ html 플러그인과 비슷한 것이 좋습니다.
Sasha Bond

37

나는 말할 수 없으므로 Alex의 환상적인 답변을 확장 할 것입니다.

줄 바꿈에 대한 숭고한 경험을 원한다면 키 맵 확장 (환경 설정> 키 맵 확장 [ Cmd+ K Cmd+ M])을 열고 다음 객체를 추가하십시오.

{
    "key": "alt+w",
    "command": "editor.emmet.action.wrapIndividualLinesWithAbbreviation",
    "when": "editorHasSelection && editorTextFocus"
}

텍스트를 선택할 때 Emmet wrap 명령을 Alt+에 바인딩합니다.W

(OSX 전용 지침 만 해당)


7
이것이 바로 가기를 추가 한 방법입니다 : 환경 설정> 키 앰프 바로 가기; ... 다음 검색 emmet 랩; ... +를 클릭하여 바로 가기를 추가하십시오 ... :)
Luckylooke

1
또한 웹 페이지에만 작동하도록 && resourceLangId == 'html'을 추가했습니다
surpavan

@surpavan, 훌륭하지만 다른 파일 형식 (예 : html 템플릿 파일)을 사용하는 것이 편리 할 수 ​​있습니다.
Andrew Lewis

1
@AndrewLewis-그렇기 때문에 파일 확장자 (files.associations)가 아닌 언어 ID로 유지했습니다.
surpavan

Windows의 경우 Shift + Alt + W는 무료입니다.
Timofeus

24
  1. ⌘ Command+ k ⌘ Command+ 를 입력하여 키보드 단축키를 s열거 나Code > Preferences > Keyboard Shortcuts
  2. 유형 emmet wrap
  3. "Emmet : 약어로 줄 바꿈"왼쪽의 더하기 부호를 클릭하십시오.
  4. 타입 ⌥ Option+w
  5. 프레스 Enter

3

스 니펫을 사용하여 이에 대한 더 나은 답변이 있습니다.

다음과 같은 정의로 스 니펫을 만듭니다.

"name_of_your_snippet": {
    "scope": "javascript,html",
    "prefix": "name_of_your_snippet",
    "body": "<${0:b}>$TM_SELECTED_TEXT</${0:b}>"
}

그런 다음 keybindings.json의 키에 바인딩하십시오.

{ 
    "key": "alt+w",
    "command": "editor.action.insertSnippet",
    "args": { "name": "name_of_your_snippet" }
}

이것이 htmltagwrap과 정확히 동일한 결과를 제공하지만 확장을 설치하지 않아도 될 것이라고 생각합니다.

선택한 텍스트 주위에 태그를 삽입하고 기본적으로 <b>태그 를 지정하고 태그를 선택하므로 입력하면 변경할 수 있습니다.

다른 기본 태그를 사용 하려면 스 니펫 bbody속성을 변경하십시오 .


이것은 훌륭하지만 Emmet은 중첩 HTML, 속성 및 목록 생성과 같은 작업을 수행 할 수 있습니다. Emmet은 VS 코드와 함께 제공됩니다.
앤드류 루이스

다운 보트를 이해하지 못합니다. 물론 Emmet은 더 복잡하고 많은 작업을 수행 할 수 있지만 태그로 텍스트 선택을 줄이려면이 솔루션이 좋습니다! 줄 바꿈 할 때 눈을 화면 / 창 위쪽으로 옮길 필요가 없습니다. 텍스트를 선택했기 때문에 이미 있던 곳에서 발생합니다! 실행 시간이 짧은 일반적인 사용 사례와 빠른 솔루션입니다!
Andrei V

나는 이것에 매우 흥분했지만 나는 그것을 작동시킬 수 없었다 : /
Icaro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.