يقوم VS2008 بتنسيق جافا سكريبت تلقائيًا في ملف .js وأريد أن يتوقف

StackOverflow https://stackoverflow.com/questions/617002

سؤال

ينسخ: 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

قم بإلغاء تحديد كافة خيارات التنسيق.

alt text

نصائح أخرى

بالنسبة لجافا سكريبت، يجب أن تعتاد على وضع الأقواس في نهاية السطر، كما يقترح الاستوديو المرئي.والسبب في ذلك هو أنه يمكن للمترجم أحيانًا إضافة ;عند تفسير الملف مما قد يؤدي إلى سلوك غريب.على سبيل المثال:

return
{
    'foo': 3
};

يؤدي هذا إلى إرجاع غير محدد، وليس التجزئة الحرفية كما تتوقع، لأن المترجم يحولها إلى:

return;
{
    'foo': 3
};

قد تعتقد أنني أختلق هذا.أؤكد لك أنني لست كذلك.

أقترح عليك تثقيف فريقك والتعود على تنسيق جافا سكريبت الخاص بك كما يقترح VS.سوف ينقذك من نفسك.


أيضا، شيء آخر.بدلاً من القيام بما يلي:

myArray[idx] != -1

أقترح عليك القيام بما يلي:

myArray[idx] !== -1

هذا سيمنعه من القيام بالإكراه.في الحقيقة...لا تستخدم أبدًا == أو != استخدم دائمًا === و !==.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top