Как автоматически перемещать конечные комментарии на строку выше?

Я ищу инструмент, опцию или регулярное выражение для перемещения конечных комментариев над строкой, которую они описывают. Другими словами, я хотел бы превратить это:

a = b; // Assign b to a

в это:

// Assign b to a
a = b;

В настоящее время я использую uncrustify для очистки большой базы кода, но не похоже, что у него есть возможность для этого, и я не смог найти его в других инструментах, хотя, возможно, где-то пропустил. В коде часто используются конечные комментарии, и по большей части они расположены случайным образом и плохо выровнены.


person kcghost    schedule 23.11.2015    source источник
comment
Я уверен, что регулярное выражение сделает это, вы уже пробовали?   -  person Oscar David Arbeláez    schedule 23.11.2015
comment
Этот вопрос не по теме, потому что: Вопросы с просьбой порекомендовать или найти книгу, инструмент, библиотеку программного обеспечения, учебник или другой сторонний ресурс не относятся к теме Stack Overflow.   -  person Algirdas Preidžius    schedule 23.11.2015
comment
Это только для // комментариев? Как насчет завершающих /* .. */ комментариев?   -  person ramana_k    schedule 23.11.2015
comment
имейте в виду, что ваше преобразование может нарушить компиляцию, например. в определениях макросов   -  person robal    schedule 23.11.2015


Ответы (1)


Попробуйте следующее регулярное выражение в Vim:

s:^\(.*\)\s\+\(//.*\):\2\r\1:
person Alex    schedule 23.11.2015