Подтвердить что ты не робот

Curly фигурные скобки автозаполнения в Visual Studio 2012

Просто мигрировал с vs10 в vs12, и кажется, что фигурные скобки полностью сломаны вместе с некоторыми другими функциями, такими как отступ в С# (?) например, тип:

public static void myFunc() {

В визуальной студии 10 она автоматически добавит к нему закрывающуюся фигурную скобку. Есть ли какой-нибудь электроинструмент или что-то, что может исправить это и дать такое же поведение? Brace Completer требует нажать Enter после того, как функция добавит закрывающие фигурные скобки.

Также в tools- > options- > text-editor- > С# → formatting- > автоматически форматировать завершенный блок на } включен по умолчанию.

4b9b3361

Ответ 2

Если у кого-то есть эта проблема с VS 2013, для этого есть настройка. Я просто reset мои настройки VS, и он снова начал заполнять фигурные скобки. Для меня это были не мощные инструменты. Вы можете включить/выключить здесь:

enter image description here

Ответ 3

Производительность Электроинструменты на 2012 год теперь доступны, у которых есть автоматическое завершение, OP почти наверняка использует версию 2010 года.

Инструменты для повышения производительности в 2013 году

Если вы еще не использовали его раньше, вы можете включить/отключить почти все функции, которые он добавляет в опции > инструменты для повышения производительности.

Ответ 4

Здесь приведен код создания автоматических скобок для RichTextBox с использованием С#.

using System;  
using System.Collections.Generic;  
using System.ComponentModel;  
using System.Data;  
using System.Drawing;  
using System.Windows.Forms;  

namespace Auto_Complete_Brackets  
{  
    public partial class Form1 : Form  
    {  
        public Form1()  
        {  
            InitializeComponent();  
        }  

        //declare  isCurslyBracesKeyPressed variable as Boolean and assign false value  
        //to check { key is pressed or not  
        public static Boolean isCurslyBracesKeyPressed = false;  

        //richTextBox1 KeyPress events  

        // if key (,{,<,",',[ is pressed then insert opposite key to richTextBox1 at Position SelectionStart+1  
        // add one line after inserting, e.Handled=true;  
        //finally set SelectionStart to specified position  

        private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)  
        {  
            String s = e.KeyChar.ToString();  
            int sel = richTextBox1.SelectionStart;  
            if (checkBox1.Checked == true)  
            {  
                switch (s)  
                {  
                    case "(": richTextBox1.Text = richTextBox1.Text.Insert(sel, "()");  
                        e.Handled = true;  
                        richTextBox1.SelectionStart = sel + 1;  
                        break;  

                    case "{":  
                        String t = "{}";  
                        richTextBox1.Text = richTextBox1.Text.Insert(sel, t);  
                        e.Handled = true;  
                        richTextBox1.SelectionStart = sel + t.Length - 1;  
                        isCurslyBracesKeyPressed = true;  
                        break;  

                    case "[": richTextBox1.Text = richTextBox1.Text.Insert(sel, "[]");  
                        e.Handled = true;  
                        richTextBox1.SelectionStart = sel + 1;  
                        break;  

                    case "<": richTextBox1.Text = richTextBox1.Text.Insert(sel, "<>");  
                        e.Handled = true;  
                        richTextBox1.SelectionStart = sel + 1;  
                        break;  

                    case "\"": richTextBox1.Text = richTextBox1.Text.Insert(sel, "\"\"");  
                        e.Handled = true;  
                        richTextBox1.SelectionStart = sel + 1;  
                        break;  

                    case "'": richTextBox1.Text = richTextBox1.Text.Insert(sel, "''");  
                        e.Handled = true;  
                        richTextBox1.SelectionStart = sel + 1;  
                        break;  
                }  
            }  
        }  


        // richTextBox1 Key Down event  
        /* 
         * when key  {  is pressed and {} is inserted in richTextBox 
         * and isCurslyBracesKeyPressed is true then insert some blank text to richTextBox1 
         * when Enter key is down 
         * it will look like this when Enter key is down 

             { 
                   | 
             }         

         * */  

        private void richTextBox1_KeyDown(object sender, KeyEventArgs e)  
        {  
            int sel = richTextBox1.SelectionStart;  
            if (e.KeyCode == Keys.Enter)  
            {  
                if(isCurslyBracesKeyPressed==true)  
                {  
                    richTextBox1.Text = richTextBox1.Text.Insert(sel, "\n          \n");  
                    e.Handled = true;  
                    richTextBox1.SelectionStart = sel + "          ".Length;  
                    isCurslyBracesKeyPressed = false;  
                }  
            }  
        }  
    }  
}