VS kodunda etiket sarma nasıl yapılır?


170

Seçilen html VS kodunda bir etiket içinde sarmak istiyorum. Bunu nasıl yaparım?


1
VSCode'a tamamen geçemememin ve Sublime'den kurtulmamın nedenlerinden biri.
Budji

3
@budji Onun emmet ile yerleşik bir özellik ... Hemen hemen her şey de şimdi bir uzantısı ve eğer değilse her zaman kendi yapabilirsiniz.
James Coyle

Bu soruyu beğendim ve çağrı ve uzantı çağrısını (Kısaltma ile Emmet Wrap) biliyorum, ancak herkes ters eylemleri nasıl yapacağını bilecekti. Örneğin: önce <p> ... </p> yazın ve bu sonuca <u> ** </u> içine <p> ... <u> ** </u> ... </ p>
Jmainol

Yanıtlar:


342

Gömülü Emmet hile yapabilir:

  1. Metin seç (isteğe bağlı)
  2. Komut paletini aç (genellikle Ctrl+ Shift+ P)
  3. gerçekleştirmek Emmet: Wrap with Abbreviation
  4. Bir etiket div(veya bir kısaltma .wrapper>p) girin
  5. hit Enter

Komut bir tuş takımına atanabilir.

resim açıklamasını buraya girin


Bu şey bile argümanları geçmeyi destekler:

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

Şöyle kullanın:

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


4
Cevap bu olmalı, emmet zaten vscode'da yüklü
Nathan

15
Ctrl+ pgoToFile. Komut paleti Ctrl+ Shift+ P.
Alex

1
JSX için, bu ek adımı eklemek zorundasınız
Gezim

1
VSCode 1.35.0 (ve muhtemelen daha önce) ile bu kutu JSX ile çalışır - herhangi bir ekstra yapılandırmaya gerek yoktur
davnicwil

98

VSCode pazarında hızlı arama: https://marketplace.visualstudio.com/items/bradgashler.htmltagwrap .

  1. VS Kodu Hızlı Açılışını Başlat ( Ctrl+ P)

  2. yapıştır ext install htmltagwrapve gir

  3. HTML seç

  4. Alt+ W( Mac için Option+ W) tuşlarına basın .


Muhtemelen 3. adımda Yükle'yi seçin.
Samir

1
"Kullanmak için bir kod parçası seçin ve" Alt + W "(Mac için" Option + W ") tuşlarına basın." Yeterince basit! Dışında çalışmıyor. VS Kod 1.16.1 ile sürüm 0.0.3 denedim. O neredeyse çalışır. Seçimi, daha akılcı bir şey gibi görünen <p></p>genel yerine etiketlere sarmaya çalışır <div></div>. Daha da kötüsü, başarısız olması. Gibi çıktılar üretir<p><p>My selected text.</p>
Samir

1
Bunun gibi başka uzantıları denedim. Ama şimdiye kadar işe yarayan birini bulma şansım yok. Bu, çalışan bir çözüme en yakın olanıydı. David Taylor tarafından 0.0.1 sarmayı denedim ve Ctrl + i hiç çalışmadı.
Samir

1
GÜNCELLEME: uzantı artık doğru bir şekilde çalışıyor ve yukarıdaki sorunları ele alıyor. Artık yinelenen etiket yok ve artık bir ayar aracılığıyla eklenmesini istediğiniz etiketi özelleştirebilirsiniz. Etiketin a olmasını <div>istiyorsanız, aşağıdaki ayarı ekleyin "htmltagwrap.tag": "div".
bgashler1

Bu oldukça zayıf bir uygulama - tek bir etiket için çalışıyor, yapılandırılabilir etiket seçiminizden etikete göre seçim yapabileceğiniz notepad ++ html eklentisine benzer bir şey olması güzel olurdu
Sasha Bond

37

Yorum yapamayacağım gibi, Alex'in harika cevabına da değineceğim.

Kaydırma ile Sublime benzeri bir deneyim istiyorsanız, Keymap Uzantılarını açın (Tercihler> Anahtar Haritası Uzantıları [ Cmd+K Cmd + M]) açın ve aşağıdaki nesneyi ekleyin:

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

Metin seçildiğinde Emmet sarma komutunu Alt+ ' ya bağlarW

(Yalnızca OSX talimatları için özür dileriz)


7
Kısayolu bu şekilde ekledim: Tercihler> Keyamp Kısayolları; ... sonra arama emmet wrap; ... kısayolunuzu eklemek için + 'yı tıklayın; ... :)
Luckylooke

1
Buna ek olarak, sadece web sayfalarında çalışmak için && resourceLangId == 'html'
ekledim

@surpavan, nice ama html şablon dosyaları gibi diğer dosya türlerinde de kullanışlı olabilir
Andrew Lewis

1
@AndrewLewis - evet, bu yüzden dosya kimliğini (files.associations) değil dil kimliğini sakladım.
surpavan

Shift + Alt + W pencereler için ücretsizdir.
Timofeus

24
  1. ⌘ Command+ k ⌘ Command+ sVeya yazarak Klavye Kısayollarını açmaCode > Preferences > Keyboard Shortcuts
  2. tip emmet wrap
  3. "Emmet: Kısaltmayla Sar" ın solundaki artı işaretini tıklayın
  4. Tür ⌥ Option+w
  5. Basın Enter

3

Snipets kullanarak bunun için daha iyi bir cevap var

Şunun gibi bir tanımla bir snippet oluşturun:

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

Daha sonra keybindings.json gibi bir anahtara bağlayın. Örneğin:

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

Bunun htmltagwrap ile tam olarak aynı sonucu vereceğini, ancak bir uzantı yüklemeye gerek olmadığını düşünüyorum.

Seçilen metnin etrafına etiketler ekler, varsayılan olarak <b>etiketlenir ve etiketi seçer, böylece yazmak onu değiştirmenizi sağlar.

Farklı bir varsayılan etiketi kullanmak isterseniz sadece değiştirmek biçinde bodypasajının özelliği.


Bu iyi ama Emmet bunu ve iç içe geçmiş HTML, özellikler ve listeler oluşturma gibi çok daha fazlasını yapabilir. Emmet VS kodlu kutudan çıkıyor.
Andrew Lewis

Downvotes anlamıyorum. Tabii ki, Emmet daha karmaşık ve çok şey yapabilirim ama bir metin seçimini bir etiketle sarmak için bu çözüm harika! Sardığınızda, gözlerinizi ekranınızın / pencerenizin üst kısmına taşımak zorunda değilsiniz. Metni seçtiğiniz için zaten oradasınız! Oldukça yaygın bir kullanım durumu ve düşük çalışma süresi ile hızlı bir çözüm!
Andrei V

Bununla çok heyecanlandım, ancak çalışamadım: /
Icaro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.