2010-11-24 17 views
5

Estoy usando viemu en VS 2010. ¿Existe un comando confiable para eliminar un método completo en el código fuente de C#?Comando para eliminar un método completo?

Estas son las cosas que he intentado:

  • los comandos de movimiento y }]] no son lo suficientemente inteligente como para elegir un método. Aunque a veces atrapan la cantidad correcta de texto.

  • Solo con el método puedo hacer diB que eliminará todo el cuerpo del método. Eso no está mal, pero me queda la posibilidad de eliminar la firma y los corchetes exteriores.

  • Si muevo el cursor al modificador de visibilidad (es decir public, private, etc) y luego hacer d*, que matará a todo el método si el siguiente método tiene la misma visibilidad.

¿Todos los expertos en vi/viemu tienen una forma de hacerlo?

+3

Haga clic en el signo menos a la izquierda del método para colapsar el método, resalte toda la línea del método colapsado y presione la tecla Suprimir. –

+0

Eso no está mal, debes hacer de esto una respuesta.También puede colapsar el método con 'CTRL + M, M', luego simplemente' dd' desde allí. –

Respuesta

2

En Vim, así es como lo hago. No estoy seguro si viemu es lo suficientemente compatible, pero:

  1. Vaya al comienzo de la declaración del método (el modificador de accesibilidad, etc.).
  2. Hit v para ingresar al modo visual.
  3. Coloque el cursor sobre la llave que inicia el cuerpo del método.
  4. Pulse % para mover el cursor al corsé correspondiente.
  5. Hit d para eliminar todo lo que está seleccionado.

No es requete automática o cualquier cosa, pero funciona y es relativamente fácil de hacer una vez patadas memoria muscular en.

+0

avanzar en la primera línea del método y luego '^ vf {% d' – shellholic

+0

Agradable, eso es mucho más compacto y repetible. Uno podría escribir un comando personalizado para hacer eso. – cdhowie

+0

Tu respuesta funciona bien en viemu, aunque no se parece a la de Shellholic. Me gusta CTRL + M, M luego dd, pero eso es específico de Visual Studio y una razón para usar viemu es ayudarme a alejarme de VS. –

1

dap (borrar un párrafo) va a trabajar para métodos sencillos que no contienen vacíos líneas. Para los métodos que contienen líneas vacías, necesitará usar diBdap (eliminar el bloque interno seguido de eliminar un párrafo). Para un uso más fácil, puede crear una asignación en su archivo rc. ex: :nmap <C-d> diBdap

+0

Es posible que desee aclarar qué es das, de lo contrario, esto no es útil. –

+0

¿Puedes elaborar en das? Sé que 'd' es el comando de eliminación, ¿qué tipo de movimiento es' como'? En viemu 2010 y gvim 7.3 para Windows 'das' elimina un bloque contiguo de texto, por lo que si el método tiene líneas vacías, se detendrá en las líneas vacías. Si el método no tiene líneas vacías, 'das' lo eliminará correctamente. –

2

Me gusta usar zadd para doblarlo y eliminar ese pliegue (que también obtendrá la declaración).

Otra forma de hacerlo si se está dentro del nivel de la declaración method/if que desea eliminar es da{dd, que me resulta un poco más fácil de escribir que algunas de las otras sugerencias. Dice que se elimine todo el par de corchete { en el que se encuentra actualmente el cursor, luego dd para eliminar la declaración de la función restante.

Si está anidado dentro de estructuras de control en un método, puede poner un número antes para eliminar esos muchos niveles.

+0

(esto funciona en vim, no estoy seguro acerca de VS, no tengo eso, pero estos parecen comandos bastante básicos que probablemente tendría) –

+0

Esto casi funciona en viemu, te deja una línea fuera de la declaración, por lo que básicamente se convierte en 'da {kdd', suponiendo que tiene llaves de apertura en su propia línea. –

Cuestiones relacionadas