كيف أجعل Visual Studio يقوم تلقائيًا بإنشاء أقواس لكتلة دالة؟

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

  •  08-06-2019
  •  | 
  •  

سؤال

يمكنني أن أقسم أنني رأيت أشخاصًا يكتبون رؤوس الوظائف ثم يضغطون على مجموعة من المفاتيح لإنشاء أقواس وظيفية تلقائيًا وإدراج المؤشر بينهم كما يلي:

void foo()_

ل

void foo()
{
    _
}

هل هذه ميزة مدمجة؟

هل كانت مفيدة؟

المحلول

الدفع ريشاربر - إنها وظيفة إضافية لبرنامج Visual Studio مع هذه الميزة، من بين العديد من أدوات التطوير الأخرى.

انظر أيضا C# مكتمل, ، إضافة أخرى.

إذا كنت تريد أن لفة بنفسك، تحقق من ذلك هذا المقال.من الجنون أن على المرء أن يفعل ذلك، رغم ذلك.

نصائح أخرى

تبدو الأدوات جميلة (خصوصًا Resharper ولكن بسعر 200-350 دولارًا أمريكيًا!) ولكن انتهى بي الأمر بتسجيل ماكرو وتعيينه إلى ctrl+alt+[

خرج الماكرو على النحو التالي:

Sub FunctionBraces()
    DTE.ActiveDocument.Selection.NewLine
    DTE.ActiveDocument.Selection.Text = "{}"
    DTE.ActiveDocument.Selection.CharLeft
    DTE.ActiveDocument.Selection.NewLine(2)
    DTE.ActiveDocument.Selection.LineUp
    DTE.ActiveDocument.Selection.Indent
End Sub

يحرر:لقد استخدمت مسجل الماكرو للقيام بذلك ولم يكن الأمر سيئًا للغاية

يمكن تحقيق ذلك باستخدام مقتطفات من التعليمات البرمجية، بعضها مدمج بالفعل (حاول كتابة "svm" ثم الضغط على TAB-TAB).

هناك ثروة من المعلومات على الشبكة حول إنشاء هذه:

قام جيف بنشر نفسه هنا

هل لديك جوجل!أنا استخدامها الكثير!:د

نلقي نظرة على مساعدة بصرية أيضًا.

لقد قمت للتو بإنشاء واحدة بناءً على @Luke أعلاه.هذا، تريد الضغط على Enter ثم الضغط على مجموعة المفاتيح الخاصة بك وسيتم إدراج:

if ()
{

}
else
{

}

وسوف يضع المؤشر بين قوسين بجوار عبارة if.

Sub IfStatement()
    DTE.ActiveDocument.Selection.Text = "if ()"
    DTE.ActiveDocument.Selection.NewLine()
    DTE.ActiveDocument.Selection.Text = "{"
    DTE.ActiveDocument.Selection.NewLine(2)
    DTE.ActiveDocument.Selection.Text = "}"
    DTE.ActiveDocument.Selection.NewLine()
    DTE.ActiveDocument.Selection.Text = "else"
    DTE.ActiveDocument.Selection.NewLine(2)
    DTE.ActiveDocument.Selection.Text = "{"
    DTE.ActiveDocument.Selection.NewLine(2)
    DTE.ActiveDocument.Selection.Text = "}"
    DTE.ActiveDocument.Selection.LineUp(False, 7)
    DTE.ActiveDocument.Selection.EndOfLine()
    DTE.ActiveDocument.Selection.CharLeft(3)
End Sub
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top