Bir tuşa basıp basılı tutup bunun VSCode'da tekrarlanmasını nasıl sağlayabilirim?


126

Ben vim eklentisini kullanıyorum ve genellikle sadece j tuşunu basılı tutarak vim'de geziniyorum. VSCode'da j, ne kadar süreyle tutulduğu önemli değil, sadece tek bir j komutu verir.

Vanilya vscode'da bile bu işe yaramaz - uzun ############################# için uzun bloklar yazmaya çalışıyorsanız sorunludur yorum ayırıcılar. Bu işlevselliği nasıl etkinleştireceğiniz hakkında bir fikriniz var mı?

Yanıtlar:


307

Apple'ı devre dışı bırakmak için yalnızca VSCode için basılı tutun, bu komutu bir terminalde çalıştırın:

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

Ardından VSCode'u yeniden başlatın.

Yeniden etkinleştirmek için bu komutu bir terminalde çalıştırın:

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool true

5
Mükemmel çalışıyor
texasbruce

2
Sağladığınız "küresel olarak hiçbir şeyi etkilemeyen" sürümü takdir edin.
jrrs

2
bu benim için çalışmıyor VSCode Sürüm 1.31.1 (1.31.1), macOS 10.14.2.
Sunny Patel

Bu beni deli ediyordu. Çözümünüz mükemmel çalıştı. Bunu paylaştığın için teşekkürler
muammar

1
Yararlı bir varyasyon -app, özellikle VSCode'un atipik yapıları için uygulama adını bulmak, etki alanından daha kolay olduğundan, alan adı yerine bayrak vermektir. VSCodium yapısını kullanıyorum, bu yüzden istediğim etkiyi elde edebildimdefaults write -app VSCodium ApplePressAndHoldEnabled -bool false
Warren Young

40

OSX kullanıyorsunuz, değil mi? Öyleyse sorun, uzun basışlarda alternatif karakterleri seçebileceğiniz Apple'ın "Bas ve Beklet" olabilir.

Bu "özelliği" terminalde bir varsayılan komutla devre dışı bırakabilirsiniz:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false

Daha sonra VSCode'u yeniden başlatmanız gerekir.

Önceki davranışı yeniden etkinleştirmek için:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool true

1
Bu benim için çalıştı. İşlevsellik Atom'da benim için iyi çalışıyordu, ancak vscode çalışmıyordu. Birinde çalışıp diğerinde çalışmaması için herhangi bir neden var mı?
Matt

Bunu uygulama bazında da devre dışı bırakabilirsiniz, Atom'un bunu varsayılan olarak göndermesi mümkündür ( defaults write com.github.atom ApplePressAndHoldEnabled -bool falsedoğru alan kimliği aracılığıyla veya doğru alan kimliği ne olursa olsun)
kwood

Tam olarak aradığım şey.
jasonleonhard

Bu benim için çalıştı Teşekkürler!
İşhan Tomar

27

Resmi vim-eklentisi VS Kodu için MacOS üzerinde nasıl kurulacağını bahseder

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
defaults delete -g ApplePressAndHoldEnabled  # If necessary, reset global default

4
defaults delete -g ApplePressAndHoldEnabledeksik olduğum şeydi. Diğer uygulamalar için varsayılan davranışı yine de korur. 👍
Steven Lu

8

Steve'in yukarıdaki cevabı, küresel ayarlar nedeniyle benim için pek işe yaramadı. Ayrıca com.microsoft.VScodebir uygulamanın alan adını nerede bulacağımı merak ettim . İşte benim için işe yarayan şey ve genelleştirilmiş bir formülasyon:

VSCode gibi belirli bir uygulama için yinelemeleri etkinleştirmek için önce geçersiz kılınan bir genel ayar olmadığından emin olun.

defaults delete -g ApplePressAndHoldEnabled

Ardından, belirli bir uygulama için ayarı etkinleştirin, bir uygulamanın etki alanı adını Info.plist, yüklendiği İçindekiler klasörü altındaki belgede bularak bulabilirsiniz .

Misal

<key>CFBundleIdentifier</key>
<string>com.microsoft.VSCode</string>

Ardından ayarı komut satırında ayarlayın.

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

Bu kalıbı diğer uygulamaya özel ayarları da kullanabilirsiniz. Sadece ayarlarınızın genel olarak üzerine yazılmadığından emin olun.

defaultsTip hakkında daha fazla bilgi için defaults help. Bir not daha, sudokullanıcınız zaten bir yönetici gibi bunu çalıştırmanıza gerek yoktur .


make sure that there isn't an overriding global setting Bunu benim için yaptı. Teşekkürler
Kevin Friedheim

6

Mac kullanıyorsanız ve VSCodium kullanıyorsanız:

defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false

com.microsoft.VSCodeMS VSCode'u çalıştırmadığınız için diğer yanıtları hedefleme çalışmaz. Komut default write, ~/Library/Preferences/ekli dosyalar oluşturur / günceller .plist, doğru dosyayı hedeflemeniz gerekir.


Yazılımım ve sürümlerim:
macOS Mojave 10.14.6
VSCodium 1.41.1
- Vim (vscodevim tarafından) 1.12.4, neovim etkin
Neovim 0.4.3 Vim 8.1.2250


0
Yukarıda belirtilen komutlarla sıfırlamama rağmen ve yeniden başlattıktan sonra bile, Bir kez açtım
VSCode sıfırlanıyorlar, bu yüzden onları geri ayarlamak için 'kod' betiğim vardı
VSCode editörünü her açtığımda.

 $ kedi kodu
VSCODE_CWD = "$ PWD" açık -n -b "com.microsoft.VSCode" --args $ * &
varsayılanlar com.microsoft.VSCode yazmak ApplePressAndHoldEnabled -bool false
varsayılan silme -g ApplePressAndHoldEnabled

0

VS Code Insider üyelerindekiler için, Bundle tanımlayıcısını şu şekilde değiştirmeniz yeterlidir:

defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false
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.