1. В выбранном файле выделите константы, функции, которые необходимо перенести в другой файл:
2. На выделении (выделенном блоке) нажмите правую кнопку мыши. Раскроется контекстное меню, в котором нужно выбрать пункт Refactor, который раскроется в дополнительное меню, в котором нужно выбрать пункт Move File... (также, после выделения блока можно было нажать горячую клавишу F6).
3. Откроется модальное окно для переноса блоков кода. Блоки, которые можно переносить будут отображены списком с возможностью их выбора для переноса. Будут отмечены те блоки, которые предварительно выделили. Выше списка будут указаны полные пути к файлам.
В поле From: - путь к файлу откуда (из которого) переносятся указанные блоки кода
В поле To: - путь к файлу куда будут переноситься блоки кода:
4. У поля To: в конце есть кнопочка Папочка - Browse... (Обзор...) - нажмите её для указания пути к файлу в который будут переноситься блоки кода:
5. Указываем путь к файлу в который будут переноситься блоки кода и нажимаем кнопку OK:
6. Убеждаемся, что пути к файлам указаны верно и нажимаем кнопку Refactor:
7. В исходном файле отмеченные (выделенные) блоки пропадут:
8. Они появятся в конце файла для переноса блоков кода. Т.к. наш файл был пустой, то они просто появляются в файле:
9. Есть естественные ограничения на перенос кода. Если мы попробуем перенести отдельный метод класса, то ничего не получится. PyCharm не знает как ему поступить в таком случае:
10. Но мы можем перенести весь класс с его атрибутами и методами. Проделаем то, что мы уже делали:
11. Выделенный класс пропадёт в исходном файле...
12. И появится в файле назначения, в низу:
13. Произведённые действия по рефакторингу, можно отменить, нажав горячие клавиши Ctrl+Z. Мы увидим запрос на подтверждение наших действий:
