2011-02-12 21 views
14

Visual Studio C# metin editöründe, bir özellik istediğinizde, prop yazıp bir özellik için bir "snippet"/şablon almak için iki kez sekme tuşuna basmanız yeterlidir. Hem Tür hem de özellik adı vurgulanır. Tür ve özellik arasında geçiş yapmak istediğinizde sekmeye bastığınızda, işiniz bittiğinde Enter tuşuna basarsınız ve imleciniz mülkün sonunda atlar.Visual Studio 2010 XAML Editör beceriksiz IntelliSense?

WPF XAML editöründe "Enter" tuşuna basılması bir satır sonu oluşturur.

<TextBox x: 

ve IntelliSense gelen "Ad" özelliğini seçtiğinizde, aşağıdaki size verecektir: gibi aşağıdaki yazarsanız

<TextBox x:Name="_" 

_ geçerli imleç konumu gösterir.

Adı bir değer verin, metin kutusu yazın ve Enter tuşlarına basın.

<TextBox x:Name="textbox"_ 

ama bunun yerine şöyle bir satır kesmesi oluşturur: Bu noktada, benim imleç şöyle sonunda atlamak için bekliyoruz

<TextBox x:Name="textbox 
      _" 

Bu davranış beni sinir bozucudur. Enter tuşlarına basmak yerine, bunun yerine End tuşlarına basıyorum.

Amaçlanan davranışlarımı nasıl alabilirim?

PS: WPF ve XAML için yeni.

+1

C# ile anlattığınız davranış, kod parçacıkları için doğrudur, ancak standart Intellisense için geçerli değildir. Her zaman XAML işaretlemesindeki ok tuşlarını kullanman gerektiğini varsaydım. Daha iyi bir yol olup olmadığını merak ederdim. –

+1

Keşke bu lanet şeyi zaten düzeltirlerdi. –

+0

Anlaşmalı. Bu büyük bir acıdır. –

cevap

7

Bu da beni her zaman kızdırdı. Bir seçenek basit bir makro oluşturmaktır.

  1. XAML etiketinizi yazın ve adlandırın. (Bu noktada imleciniz özniteliğin tırnak işaretlerinin içinde bulunur.)
  2. Makro kaydını başlatmak için Ctrl-Shift-R tuşlarına basın.
  3. End'a basın ve sonra girin. (Şimdi imleciniz olmasını istediğiniz yere getirin.)
  4. Makro kaydını durdurmak için tekrar Ctrl-Shift-R tuşlarına basın.

    DTE.ActiveDocument.Selection.EndOfLine() 
    DTE.ActiveDocument.Selection.NewLine() 
    

    Şunları yapabilirsiniz: Yukarıdaki adımları izlerseniz Alt-F8 ve açık RecordingModule.TemporaryMacro basarsanız

, Visual Studio Gördüğünüz aşağıdaki makro kodunu oluşturduğuna dikkat şimdi bu makroyu Ctrl-Shift-P ile çalıştırın, ancak bu noktada yalnızca geçici bir makrodur. Onu kaydetmeli ve bir klavye kısayoluna atamalısınız.

  1. Açık Makro Explorer (Alt-F8).
  2. MyMacros altında TemporaryMacro'u bulun | KayıtModule ve yeniden adlandırın. Belki de RecordingModule'den farklı bir modüle de taşıyabiliriz.
  3. Araçlar menüsünü açın ve Seçenekler, Ortam, Klavye'ye gidin.
  4. Makronuzun adını "İçeren komutları göster" altında yazın.
  5. Makronuzu seçin ve kısayol tuşlarını/anahtarlarını atayın. yerine End basın elinizi hareketli, Şimdi

(ı. Ctrl-Enter seçti) ve daha sonra, sadece Ctrl-Enter tuşuna basabilirsiniz girin .

Ayrıca, satırın sonuna doğru hareket eden ve "/>" benim için başka bir makro kaydettim ve bunu Ctrl-/'a ekledim. VS kodu aşağıdaki gibi görünür:

DTE.ActiveDocument.Selection.EndOfLine() 
DTE.ActiveDocument.Selection.Text = " />" 
DTE.ActiveDocument.Selection.NewLine() 

Tüm bu makrolara bir alternatif otomatik teklifleri kapatmaktır. Araçlar menüsünü açın ve Seçenekler, Metin Düzenleyici, XAML, Çeşitli öğesine gidin. Otomatik tırnak ekleme öznitelikleri seçeneğinin işaretini kaldırın. Daha sonra sizin için son alıntı eklenmez ve veya End anahtarını ok tuşlarını kullanmanız gerekmeyecektir (elbette, şimdi bitiş teklifini şimdi yazmanız gerekecek).

+0

Andrew, teşekkürler! Makronuzu paylaşabilir misiniz? – Ian

+1

Visual Studio tarafından oluşturulan makro kodunu eklemek için cevabımı düzenledim. – Andrew

+0

Gelecekte cevap arayanlar için bir uyarı, 2010'dan sonra Visual Studio'nun sürümleri makrolar için desteği düşürdü. – KevenDenen

7

Başka bir çözüm de Edit.WordNext işleminin kısayol anahtarını yeniden ispatlamaktır.

Varsayılan olarak bu, Ctrl + RightArrow olarak ayarlanır. Görsel stüdyonda TOOLS-> Seçenekler-> Çevre-> Klavye'ye gidin.

Bunu Shift + Space'e bağlamak istiyorum, bu yüzden ok tuşlarını kullanmam gerekmez. Xaml özniteliğini yazmayı bitirdiğinizde ve imleç son tırnak işaretinin sol tarafındayken, Shift + Space tuşuna basar ve işaretin sağ tarafına atlar, böylece geri kalanları yazarak devam edebilirsiniz. .

Makro kullanmanın çok daha kolay.

+0

Visual Studio 2013'ün makrolar için desteği olmadığından, bu benim için harika çalışıyor. – KevenDenen