2009-03-05 5 views
4

Yinelenen: VS2008 Removes my Indentation in .js fileVS2008 bir .js dosyasında benim javascript autoformatting edilir ve bunu durdurmak istiyorum

Merhaba ben VS2008 ve ReSharper 4.0 var ve sorun yaşıyorum (biçimlendirme sekmesinde otomatik biçimlendirme kapatın) . Herhangi bir .js dosyasında yeni bir kod satırına girdiğimde, JavaScript kodlarının tamamını kullanır ve yeniden biçimlendirir. C# (.cs) dosyaları için brace davranışı ayarlayabildiğim ReSharper'da nerede buldum. VS2008'de arama yaptım ve JavaScript kodu için herhangi bir ayar bulamadım.

function doSomething(withMe) 
    { 
     for (idx in myArray) 
     { 
      if (myArray[idx] != -1) 
      { 
       return "yep"; 
      } 
     } 
     return "nope"; 
    } 

bu ol (ı daha iyi gibi, ama takımım yerine yukarıda sever) Geri dönmek ve her yerde hazır yanıtlar yeniden eklemek için acı oluyor

function doSomething(withMe) { 
     for (idx in myArray) { 
      if (myArray[idx] != -1) { 
       return "yep"; 
      } 
     } 
     return "nope";  
    } 

. Bu deliliğin durmasını sağlayacak ayarı nerede bulabilirim.

+0

Kapatmak için oylama: Kopyalama: http://stackoverflow.com/questions/605461/vs2008-removes-my-indentation-in-js-file (Biçimlendirme sekmesinde otomatik biçimlendirmeyi kapatın) – dirkgently

+0

Bu soruyu kapatmayın . Bir diğerinin problemi daha iyi açıklanmalıdır. –

+0

da Jonnii'nin pratikte sözdizimsel olarak önemli olan hizalama konusundaki noktasını kaçırırdı. – philsquared

cevap

7

Araçlara Git -> Seçenekler.

JScript

işaretini kaldırın biçimlendirme seçenekleri Tümünü genişlet Text Editor

genişletin.

alt text

+0

Cevabınız için teşekkürler. Bu beni uzun zamandır çıldırtıyor. –

+0

Görünüşe göre, JScript ayarı JavaScript kodunu da formatlıyor. Onu hiç bulamadım. :) İşaretçi için teşekkürler. – DMCS

+0

Bunu yapmanı şiddetle tavsiye ediyorum. Bu soru için diğer cevaplara bakın. –

4

javascript için görsel stüdyo anlaşılacağı gibi, hattın sonunda parantez koyarak alışkanlığı içine almak gerekir. Bunun nedeni, tercümanın bazen ara sıra ekleyebilmesidir; Dosyayı garip davranışlara yol açabilecek şekilde yorumlarken. tercüman haline döner çünkü bu, beklediğiniz gibi edebi tanımsız değil karma döndürür

return 
{ 
    'foo': 3 
}; 

: Örneğin:

return; 
{ 
    'foo': 3 
}; 

Benim bu uyduruyorum düşünebilir. Seni temin ederim ki değilim.

Ekibinizi eğitmenizi ve VS'nin önerdiği gibi javascript'inizi biçimlendirme alışkanlığına girmenizi öneririm. Seni kendinden koruyacak. Ayrıca başka bir şey de olabilir. Yerine yapmanın:

myArray[idx] != -1 

ben bunu önermek:

myArray[idx] !== -1 

Bu tip zorlama yapmaktan onu durdurur. Infact ... asla kullanmayın == veya! = Her zaman === ve! == kullanın.

+0

Lol. MyArray [idx]!= -1, orada attığım kukla bir koddu. Kodumuzda buna sahip değiliz, sadece aklımdan çıktı. Ama ilginç bir nokta. Zorlamanın ne olduğu hakkında hiçbir fikrim yok ama önemli görünüyor. – DMCS

+0

Tip baskısı, javascript'in tip karşılaştırmaları yapacağı yoldur. Örneğin, '\ t \ r \ n' == 0 doğru olarak değerlendirir. – jonnii