يقوم VS2008 بتنسيق جافا سكريبت تلقائيًا في ملف .js وأريد أن يتوقف
-
03-07-2019 - |
سؤال
ينسخ: VS2008 يزيل المسافة البادئة في ملف .js (قم بإيقاف تشغيل التنسيق التلقائي في علامة تبويب التنسيق)
مرحبًا، لدي VS2008 وReSharper 4.0 وأواجه مشكلة.عندما أقوم بإدخال سطر جديد من التعليمات البرمجية في أي ملف .js، فإنه يمر عبر جميع أقواس JavaScript ويعيد تنسيقها.لقد وجدت مكانًا في ReSharper حيث يمكنني ضبط سلوك الأقواس لملفات C# (.cs).لقد بحثت في VS2008 ولم أتمكن من العثور على أي إعدادات لرمز JavaScript.
function doSomething(withMe)
{
for (idx in myArray)
{
if (myArray[idx] != -1)
{
return "yep";
}
}
return "nope";
}
كن هذا (الذي أحبه أكثر، لكن فريقي يحب ما ورد أعلاه بدلاً من ذلك)
function doSomething(withMe) {
for (idx in myArray) {
if (myArray[idx] != -1) {
return "yep";
}
}
return "nope";
}
أصبح من المؤلم العودة وإعادة إضافة السجلات الجاهزة في كل مكان.أين يمكنني العثور على الإعداد لإيقاف هذا الجنون.
المحلول
انتقل إلى الأدوات -> الخيارات.
قم بتوسيع محرر النصوص
قم بتوسيع JScript
قم بإلغاء تحديد كافة خيارات التنسيق.
نصائح أخرى
بالنسبة لجافا سكريبت، يجب أن تعتاد على وضع الأقواس في نهاية السطر، كما يقترح الاستوديو المرئي.والسبب في ذلك هو أنه يمكن للمترجم أحيانًا إضافة ;عند تفسير الملف مما قد يؤدي إلى سلوك غريب.على سبيل المثال:
return
{
'foo': 3
};
يؤدي هذا إلى إرجاع غير محدد، وليس التجزئة الحرفية كما تتوقع، لأن المترجم يحولها إلى:
return;
{
'foo': 3
};
قد تعتقد أنني أختلق هذا.أؤكد لك أنني لست كذلك.
أقترح عليك تثقيف فريقك والتعود على تنسيق جافا سكريبت الخاص بك كما يقترح VS.سوف ينقذك من نفسك.
أيضا، شيء آخر.بدلاً من القيام بما يلي:
myArray[idx] != -1
أقترح عليك القيام بما يلي:
myArray[idx] !== -1
هذا سيمنعه من القيام بالإكراه.في الحقيقة...لا تستخدم أبدًا == أو != استخدم دائمًا === و !==.