2008-12-11 27 views
11
genişletmek ve ASHX sorunu daraltmak

Ben Visual Studio 2008 Professional ve ben (.ashx) ASP.Net Jenerik Handler sayfalarındaVisual Studio ASP.Net jenerik işleyicileri

I yöntemi kod blokları genişletme ve daraltma ile sorunlar yaşıyorum .aspx web sayfalarının arkasındaki kodda da aynı şeyi yapabileceğinizi düşünürdüm.

Aynı sorunları VS 2008 Standard ve VS 2005 Professional ile bile diğer kutularda var. Tüm kutular tamamen yandı (OS ve Visual Studio.)

Bu özelliği etkinleştirmek için herhangi bir öneri olan var mı? Bunu aşağıdaki adrese giderek çalışıyoruz önünde kod gerçeğini görmezden Visual Studio zorlayabilir

+0

Harika bir soru. Umarım bir başkası daha iyi bir cevap bulabilir. Benim sıkıntım, ASHX dosyalarını düzenlerken, HTML için kod girme tercihlerinin C# ayarları yerine kullanılmasıdır. – Jacob

cevap

19

:

Araçlar | Seçenekler

"Metin Düzenleyicisi | Dosya Uzantıları" sekmesini açın.

"Microsoft Visual C#" ile eşleştirilen "ashx" uzantısı için yeni bir giriş oluşturun (veya tercihiniz doğrultusunda "Microsoft Visual Basic") ve "Ekle".

İletişim kutusuna gidin, ashx dosyanızı kapatın ve yeniden açın ve kod bloklarınız kalp içeriğinize göre daraltılır, ancak @ yönergesi oldukça çirkin olur.

Aynı olayı, .aspx dosyasında (örneğin, bir web sitesi projesinde ve "Kodu ayrı bir dosyaya yerleştirmeyin") sunucu biçiminde betikiniz varsa, bu durumda da sorun var demektir. ya orada.

+1

Ve daha sonra, görsel stüdyonun 'WebHandler' yönergesiyle ilgili sızıntıyı durdurmak için, sadece çizgiyi yorumlayın, sanki çalışmıyormuş gibi çalışacak! –

+4

Bu kesinlikle outlining giderir, ama ne yazık ki bozulur intelliense – MaxPRafferty

+1

Bu benim makinede sabit intellisense (vs2012) –

9

Evet, farklı bir çözüm var;) .aspx dosyalarıyla yapabileceğiniz gibi kodu ayrı bir .cs dosyasına koymaya çalıştım, ancak bu mümkün değildi.

something.ashx:

<%@ WebHandler Language="C#" Class="Something" %> 
public class Something : cSomething {} 

Ve Yani ben şimdi bu ele yolu böyle ashx dosyası sadece uzanır AppCode dizinde, bir sınıf ... yarattık AppCode-klasör ben dosya cSomething.cs

Şimdi
using.. blabla 
public class wsaXmlComm : IHttpHandler 
{ 
    public cSomething() 
    { 
    } 
    public void ProcessRequest(HttpContext c) 
    { 
etc... 

oluşturduk elimden sadece açık cSomething.cs, .cs dosyası sağ editörü açılmış olduğundan #region, çöken ile benim C# kodunu düzenleyin :)

+1

Bu çok düzgün küçük bir çözüm :) –

+0

AWESOME çözüm <3 –

3

İlk satırın önüne /// ekleyin. Şimdi

using System; 
using System.Web; 
using System.Web.Security; 
using System.Collections.Generic; 
using System.Configuration; 
using System.Data.SqlClient; 
using System.Data; 

Ardından basın "Ctrl + M + H" ve Vualá ... Anahat Çalışma:

///<%@ WebHandler Language="C#" Class="FooBar"%> 
+0

benim için daha önce bir VS olabilir? – Dementic

+0

Bu yalnızca "Araçlar/Seçenekler/Metin Düzenleyici/Dosya Uzantıları" sekmesinde "Microsoft Visual C#" düzenleyicisine eşlenen "ashx" uzantısını eklerseniz çalışır. –

1

gibi, bir kod parçasını seçmek: Bunun gibi

... Ve Intellisense Too ...

Anahatlamayı Durdurmak için "Ctrl + M + P" ...

+0

Bu, bulduğum en pratik çözümdür. –