visual tools studio productivity power para ides extension c# ide visual-studio-2012 visual-studio-power-tools

c# - tools - Las llaves se autocompletan en Visual Studio 2012



tools visual studio 2015 (4)

Acabo de migrar de vs10 a vs12 y parece que las llaves se rompen por completo junto con algunas otras características como la sangría en C # (?), Por ejemplo, escriba:

public static void myFunc() {

En Visual Studio 10 se agregaría automáticamente la llave de cierre para ello. ¿Hay alguna herramienta eléctrica o algo que pueda solucionar esto y dar el mismo comportamiento? el complemento de refuerzo requiere pulsar Intro después de la función para agregar las llaves de cierre.

También en herramientas-> opciones-> editor de texto-> c # -> formateo-> formatear automáticamente el bloque completado activado } está activado de manera predeterminada.


Aquí está el código para crear corchetes automáticos completos para RichTextBox usando C #.

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; } } } } }


Si alguien tiene este problema con VS 2013, hay una configuración para esto ahora. Simplemente reinicié mi configuración VS y comenzó a completar mis llaves de nuevo. Para mí, no se trata de herramientas de potencia de productividad. Puedes activarlo / desactivarlo aquí: