Как изменить название переменной сразу во всей программе pycharm

ПриветствиеПривет, сегодня я расскажу новичкам про полезные и удобные функции PyCharm (далее пайчарм). Эта статья предназначена для тех, кто уже знаком с PyCharm...

Приветствие

Привет, сегодня я расскажу новичкам про полезные и удобные функции PyCharm (далее пайчарм). Эта статья предназначена для тех, кто уже знаком с PyCharm и написал свои первые программы. Затронем основной функционал пайчарма, который может упростить и ускорить вашу работу и узнаем, как запускать сервер и тесты Django в один клик. Поскольку, статья для новичков, то буду писать довольно подробно.

Буду рад увидеть в комментариях и другие полезные возможности пайчарма, о которых я не упомянул в статье.

Создание и настройка проекта

Начнём с самого главного — создания нового проекта (File → New Project).

На вкладке слева можно выбрать на чём будет основан ваш проект. Я покажу пример создания проекта Django (далее джанго), но Pure Python не будет сильно отличаться.

  1. В поле Location выбираем директорию, в которой создадим наш проект. После выбора директории в поле прописываем название_проекта — это и будет папка нашего проекта.

  2. Выбор между новой виртуальной средой (New enviroment using) и уже существующей (Previosly configured interpreter)
    а) Если вы выбираете уже существующую виртуальную среду, то нужно указать путь до файла python.exe в папке ../venv/Scripts/python.exe (для Linux ../venv/bin/python.exe)
    б) Но как правило создаётся новая виртуальная среда. В поле Location можно выбрать местонахождение папки venv. По умолчанию папка venv расположится внутри папки проекта. Если необходимо создать папку с именем отличным от venv, то в поле Location сотрите venv и впишите название папки.
    Пункт Inherit global site-packages позволяет включить в нашу виртуальную среду все библиотеки установленные в глобальной среде.
    Make available to all projects отвечает за видимость созданной виртуальной среды для других проектов. Если вам нужна одна виртуальная среда сразу на несколько проектов, то стоит выбрать этот пункт.

  3. Если у вас отсутствует путь в Base interpreter, то нужно добавить python в PATH.

  4. Тут уже начинаются настройки для джанго. В поле Tempate languages идёт выбор языка для html шаблонов. Можно оставить стандартный Django или при необходимости выбрать Jinja2.

  5. Поле Templates folder отвечает за название папки с шаблонами. Без особой необходимости менять название этой папки не стоит.

  6. В Application name можно указать имя нашего первого приложения, которое мы хотим создать.

  7. Пункт Enable Django admin отвечает за работу стандартной админ. панели джанго. Если вам не нужна полностью своя админ. панель, то смело ставим тут галочку. Функционала стандартной админ. панели, как правило, достаточно.

Нажимаем Create и ждём пока создастся наш проект. Созданный проект будет иметь следующую структуру:

Я привык работать с проектом, когда все приложения вложены ещё в одну папку, а в главной директории находится папка с приложениями, файлы настройки и папка venv. Поэтому я создам папку apps (ПКМ по основной(верхней) папке → NewDirectory) и перенесу в неё папки first_app, TestProject, templates и файл manage.py. (Зажав Ctrl кликаем на нужные папки, далее нажимаем Ctrl+X, выбираем созданную ранее папку apps и нажимаем Ctrl+V). Если после переноса файлов у вас в папке apps появился файл __init__.py, то удалите его. Получим следующую структура проекта:

Чтобы джанго правильно искал шаблоны и все импорты работали корректно нужно промаркировать папки. Для этого кликаем правой кнопкой по папке apps → выбираем пункт Make Directory as и выбираем Sources Root. Для папки templates установим значение Template Folder. В папке apps создадим папку static, для хранения статических файлов и промаркируем её как Resource Root.

В процессе разработки могут появится файлы, которые не нужно проверять линтеру, такие директории можно помечать как Excluded. Например, папка vevn отмечена так по умолчанию.

Ещё немного про виртуальную среду

Функционал пайчарма часто позволяет избегать работы с терминалом и настраивать всё проще и быстрее. Поэтому даже в уже существующем проекте виртуальную среду можно удобно настроить. Для этого откроем настройки (Ctrl+Alt+S), и перейдём во вкладку Project: <Имя проекта>. Здесь нас интересует пункт Python Interpretter

В поле Python Interpretter указана используемая версия python, имя проекта (в скобках) и путь к файлу python.exe для виртуальной среды. Если вам потребовалось сменить виртуальную середу или у вас она не выбрана, то нажимаем на Add InterpreterAdd Local Interpreter. Дальнейшие действия по настройке виртуальной среды можно посмотреть в главе «Создание проекта» пункт 2.

Возможности PyCharm

Терминал

В настройка можно настроить автоматическую активацию виртуальной среды в терминале при его открытии. Очень полезная вещь, ведь теперь не придётся каждый раз активировать её вручную. Для этого открываем настройки (Ctrl+Alt+S) → Tools → Terminal.

Здесь можно настроить стартовую директорию при открытии терминала (Start directory), выбрать какой терминал будет открываться по умолчанию (Shell path) и самое главное установить автоматическую активацию виртуальной среды. Ставим галочку перед Activate virtualenv и готово.
Если у вас выбран терминал bash, то вы столкнётесь с тем, что при открытии терминала над строкой ввода не будет отображаться название виртуальной среды. Не пугайтесь. Не знаю с чем связан данный баг, но всё работает корректно и виртуальная среда уже активирована.

Работа с Git

Больше не придётся мучаться с командами в терминале. Все основные действия с гитом можно проделывать с помощью встроенных инструментов пайчарм. В левой верхней части окна находится вкладка Commit. Нажав на неё откроется меню работы с гитом.

Первые три значка в верхней строке отвечают за проверку последних изменений, откат изменений и сравнение файла до и после изменений.
Можно выбрать файлы, которые войдут в коммит, написать комментарий (Commit Message), дополнить последний коммит (Amend). Кнопки Commit и Commit and Push отвечают соответственно за создание коммита и его отправку на GitHub или другой сервис. При входе в свой GitHub аккаунт в дальнейшем не потребуется каждый раз вводить пароль перед пушем, всё произойдёт автоматически.

Базы данных

По умолчанию инструменты для работы с БД доступны только в pro версии пайчарма. Для бесплатной версии есть плагин, который предоставляет схожий функционал. Расскажу про оба варианта.

Работа с БД в PyCharm Professional

Стандартный функционал предоставляет обширный функционал для работы БД, который покрывают различные ваши потребности, но я расскажу о самом простом и полезном для новичков.
Для начала необходимо установить связь с БД. В верхнем правом углу находим вкладку Database→ нажимаем на плюс → Data SourceSQLite (тут выбираем нужную СУБД).

В открывшемся окне в поле Name вводим имя, которое мы хотим видеть при работе с БД (на название файла БД это никак не повлияет). В поле File выбираем наш файл БД и нажимаем ОК.

Теперь в списке можем увидеть нашу БД. Для того, чтобы обновить данные БД нажимаем на стрелочки (или комбинация Ctrl+F5) и получаем последнее состояние БД.

В этом окне мы можем видеть все таблицы БД. Двойной клик по ним откроет окно редактирования таблицы. Можно посмотреть правильно ли сохранились данные или подправить что-то при необходимости.

Работа с БД в PyCharm Community

Для работы с БД с бесплатной версии необходимо установить плагин Database Navigator (процесс установки плагинов описан ближе в главе «Плагины» ближе к концу статьи).

После установки плагина, в левой верхней части интерфейса появится вкладка DB Browser. Во вкладку нажимаем на плюс и выбираем нужную СУБД.

В открывшемся меню в поле Name указываем название соединения. Вместо sqlite.db указываем путь к нашей БД и нажимаем ОК.

Двойной клик по таблице откроет окно, в котором будет предложено составить SQL запрос для выбора данных из таблицы. Просто нажимаем на кнопку No Filter и получаем все записи из таблицы. Теперь у нас есть доступ к таблицам БД, возможность просматривать и редактировать их.

Настройка сервера и тестов для Django

Каждый раз для запуска сервера джанго приходится вводить команду в терминал и открывать ещё один терминал, т.к. при работе сервера нельзя пользоваться терминалом. Это доставляет неудобства, поэтому в пайчарм можно настроить запуск сервера и тестов в один клик и без блокировки терминала.

Открываем выпадающее меню и кликаем на Edit Configurations.... В открывшемся окне нажимаем на крестик и находим Django Server.

В правой части окна нам предложат настроить нашу конфигурацию. В поле Name вводим имя конфигурации, а в поле Working directory выбираем папку проекта, которую при создании мы отметили как Sources Root. Если же все приложения у вас хранятся в основной директории проекта, то укажите её в этом поле. Сохраняем конфигурацию и теперь можно запустить сервер, просто нажав на кнопку Run (зелёный треугольник).

На нижней панели появится вкладка Run, которая будет показывать информацию о работе нашего сервера и можно будет свободно работать с терминалом.

Для создания тестовой сборки вместо Django server выбираем Django tests. Поля Name и Working directory заполняются аналогично конфигурации сервера. Полезным может оказаться поле Options. Оно позволяет передать дополнительные аргументы при запуске тестов, так как при вводе команд в терминале.

Теперь все тесты будут запускаться в специальном окне, где хорошо видно, какие тесты прошли проверку, а какие нет. Можно оставить только неудачные тесты и удобно переключаться между ними. Чтобы увидеть информацию по конкретному тесту, можно просто выбрать его, а не копаться в море ошибок, пытаясь найти нужную информацию.

После такой настройки можно запускать сервер и тесты в один клик. При необходимости можно настроить и другие конфигурации, например для запуска тестов в отдельном приложении джанго.

Аналогичные конфигурации можно создать для Flask, FastAPI и многих других фреймворков.

Полезные плагины

Плагины могут очень сильно расширить и дополнить стандартный функционал. Я разделил их на три группы: обязательные, опциональные и косметика. Рекомендую скачать все плагины из первой категории. Для установки плагинов откройте настройки (Ctrl+Alt+S) → Plugins и останется выбрать только нужные вам расширения.

Обязательные

  • Tabnine – потрясающий плагин, который будет писать код за вас). Часто спасает при вводе длинных строк, которые он дописывает сам. И даже может дописывать простенькие функции или логические конструкции. В общем, крайне полезная вещь. Конечно же есть и минус, большая часть функционала платная, по подписке. Но даже бесплатная версия будет полезна

  • Rainbow Brackets – меняет цвет скобок в зависимости от их вложенности. Очень упрощает работу и позволяет гораздо быстрее ориентироваться в коде.

  • Requirements – плагин для более удобной работы с файлом requirements.txt

Опциональные

  • Translation – если вы прекрасно знаете английский, то этот плагин вам ни к чему, но всегда удобно иметь переводчик под рукой.

  • WakaTime – позволяет отслеживать сколько времени вы потратили на работу, на какой проект и многое другое. Есть и платный функционал, но для простого анализа потраченного на работу времени хватает и бесплатной версии.

  • GitToolBox – расширяет стандартный функционал работы с гитом.

  • PyLint, SonarLint и другие. Я считаю, что линтеров много не бывает, поэтому предлагаю поставить какой-нибудь дополнительный линтер.

  • MyPy – плагин помогает в проверке статических типов. Он использует собственную динамическую проверку Python или неявную (утиную) типизацию с подсказкой самого типа.

  • Flake8 – проверяет код на соответствие PEP8. Его установка отличается от стандартных плагинов. Как установить flake8 в pycharm.

Косметика

  • ExtraToolWindows Colorful Icons – делает многие иконки цветными и лично для меня упрощает навигацию по ним.

  • Pokemon Progress – добавит немного веселья в работу. Плагин меняет полосу загрузки на покемонов. Можно выбрать нескольких любимых, а можно каждый раз любоваться новыми.

  • Ещё есть всевозможные варианты тем на любой вкус и цвет. При большом желании можно создать и свою. Лично меня вполне устраивает стандартная тема Dracula.

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

Горячие клавиши и всякие мелочи

В этой главе будут самые полезные горячий клавиши и небольшие фишки пайчарма.

  • Быстрое открытие файла, функции, класса. Двойное нажатие Shift откроет строку поиска. Здесь вводим нужное нам название и можно быстро перейти к найденному элементу. Особенно полезно, когда проект большой и приходится лазить по папкам в поиска нужного файла или функции.

  • Разделение рабочей области. Нажав ПКМ на вкладку открытого файла, можно выбрать один из пунктов Split и видеть перед собой сразу два и более файлов.

  • Переход к функции, классу или файлу. Зажав Ctrl и кликнув по функции или классу можно быстро переместиться к ним, даже если они находятся в другом файле. А если в коде у вас, например, указано имя html шаблона, то по клику можно быстро его открыть.

  • Автоформатирование кода. Комбинация Ctrl+Alt+L приводит весь код в файле в соответствие с настройками форматирования для данного типа файла. Удобно применять при переносе строк, чтобы все отступы подравнялись и заодно поправить то, что вы могли пропустить

  • Вырезать строку. Ctrl+X удаляет выбранную строку (строку, где находится курсор) и сохраняет её в буфер обмена

  • Дублировать текущую строку. Ctrl+D создаёт дубликат строки и вставляет его на следующую строку. Пригождается при написании похожих и длинных конструкций

  • Переименовать что угодно. Shift+F6 переименует выбранную переменную, файл и много другое сразу во всём проекте или при необходимости только в выбранном файле. Если имя файле в коде хранится в виде строки, то оно тоже изменится.

  • Поиска по файлу — Ctrl+F. Поиска и замена в файле — Ctrl+R.

  • Отмена последнего действия — Сtrl+Z, операция обратная отмена последнего действия (если переборщили с Ctrl+Z) Ctrl+Y. При Первом использовании Ctrl+Y пайчарм предложит выбрать, что назначить на эту комбинацию: удаление строки или Ctrl+Z наоборот. Я предпочитаю второе.

  • Стандартный комбинации Ctrl+C — копировать, Ctrl+V — вставить.

  • Открыть буфер обмена. Win+V откроет буфер обмена и можно выбрать нужное из последних скопированных данных. Данная комбинация относится к windows, а не пайчарму, но она очень полезна в работе.

  • Установки длины строки по PEP8. В настройках перехожим в Editor → Code Stile → Python. В поле Hard wrap at устанавливаем значение 79. В поле Wrap on typing устанавливаем значение Yes. Теперь справа от кода мы будем видеть линию, которая ограничивает длину строки в 79 символов, но при необходимости можно за неё вылезти.

  • Список всех горячих клавиш в PyCharm


В этой статье, я постарался рассказать о самых полезных возможностях пайчарма. Если вы знаете, как ещё можно упростить процесс разработки, то пишите об этом в комментариях, возможно я и другие пользователи дополним свой арсенал инструментов разработки. Так же пишите, о чём ещё вы хотели бы услышать в таком развёрнутом формате.

Я использую Pycharm для кодирования Python, и я хочу изменить имя определенной переменной по всему коду. есть ли сочетание клавиш для этой операции?

В Matlab я могу использовать ctrl + shift.

Например:

old_name=5
x=old_name*123

станет:

new_name=5
x=new_name*123

без необходимости изменять обе ссылки old_name.

Спасибо!

28 сен. 2016, в 14:32

Поделиться

Источник

2 ответа

Выделите old_name и нажмите Shift + F6

Moses Koledoye
28 сен. 2016, в 12:42

Поделиться

Я не знаю о ярлыке для этой специальной цели, но я просто использую Ctrl + R для замены старых имен переменных новыми. Вы также можете установить такие параметры, как Match case, Regex или In.

Обратите внимание, что это не сработает, если у вас есть имя переменной, включая другое имя переменной:

var1 = 0
var1_s = "0"

Замена var1 на xy приведет к:

xy = 0
xy_s = "0"

Но это также заставляет вас делать последовательные и понятные имена переменных.

linusg
28 сен. 2016, в 11:49

Поделиться

Ещё вопросы

  • 1Protobuf-Net всегда десериализует пустой список
  • 0Запросы к нескольким таблицам в CakePHP 3.x ORM
  • 0динамические селекторы добавляются при выполнении функции
  • 1очистить очередь rabbitmq с помощью весеннего шаблона amqp?
  • 0Обновить индекс элемента при выборе опции, используя jQuery
  • 0Как удалить массовый динамический формат даты в PHP?
  • 0Как получить значение флажка из диалогового окна в Jquery Var
  • 1Как передать значение через Intent
  • 0Преобразование из пользовательского класса в std :: string
  • 1Основная проблема, касающаяся Task.Factory.StartNew
  • 0Запрос Среднее JS с формой,
  • 0Пользовательский C ++ Предикат и найти, если
  • 0Как отобразить переменные в C ++
  • 0Как получить ссылку на константу, но иметь возможность изменить то, на что указывает ссылка?
  • 0Как вы разделяете контент на фрагменты с разбивкой по страницам, используя jQuery?
  • 1Можно ли повторно использовать токен Facebook OAuth для открытия страницы Facebook в браузере?
  • 0PHP заполнить выпадающий список из базы данных, а затем обновить по нажатию кнопки
  • 1Java с плавающей точкой в IEEE-754 шестнадцатеричной?
  • 0Найти пары в таблице с двумя столбцами и объединить в таблицу с тремя столбцами
  • 0Angular JS получает доступ к данным контроллера из фильтра
  • 1Как получить доступ к элементам родительской формы из дочерней формы?
  • 0Проверьте, существует ли строка, вставьте соответственно
  • 1Доступ к таблице в таблице Excel с использованием C #
  • 0JQuery определить конец эффекта
  • 0Как gclid работает с Joomla
  • 0Как получить доступ к данным без повторения ng
  • 1Могу ли я загрузить код Python в Python и проанализировать его как обычные строки кода?
  • 1Как открыть и манипулировать несколькими текстовыми файлами одновременно после выбора их с помощью tkinter?
  • 1Какой путь службы Android выбрать для реализации большой загрузки?
  • 0Изменение InnerHTML работает в Firefox, но не в IE 9
  • 1Динамическое выполнение веб-служб на основе SOAP без создания прокси
  • 0Вложенные параметры / значения в запросах POST
  • 1Проблема при нажатии на ссылки HTML внутри ListView?
  • 1Получение настроек телефона
  • 0Найти заголовок таблицы, соответствующий классу
  • 0Системная переменная логина ошибки страницы аккаунта
  • 0Выбор уровня приложения и настроек глобального уровня из БД
  • 0Проверка формы с помощью PHP с отправкой данных в приложение Java
  • 1Форматирование даты и времени панд в Bokeh HoverTool
  • 1JavaScript куча нехватки памяти в angular 2
  • 1D3.js просто рисует вертикальную линию, а не на графике
  • 1Копировать свойства класса из класса в новый подкласс C #
  • 0PHP dataURL в изображение png
  • 0Вызовите файл загрузки
  • 1Инструмент для генерации классов сопоставления из справочника услуг
  • 0В чем ошибка в следующем фрагменте кода jQuery?
  • 1База данных не отображается в ListView, только изображение
  • 1Передача значения радиокнопки в textview в Android
  • 0PHP не возвращает массив

Сообщество Overcoder

Перейти к содержанию

หนังโป๊ chanel preston in look at me closer. free sex एक्स एक्स एक्स

На чтение 4 мин. Просмотров 139k. Опубликовано 12 октября, 2016

PyCharm — это мощный IDE и возможно лучший, для языка Python. А использование горячих клавиш сильно ускоряет и упрощает разработку.
Без лишних слов представляем небольшую подборку:

Содержание

  1. Работа с закладками:
  2. Редактирование:
  3. Работа с окнами, вкладками:
  4. Работа с поиском:
  5. Генерация кода и рефакторинг:

Работа с закладками:

Поставить или снять закладку F11
Аналогично с присвоением буквы или цифры Ctrl + F11
Переход к закладке (удаление — клавишей Delete) Shift + F11
Быстрый переход к закладке с присвоенным числом Ctrl + Число

Редактирование:

 Отменить последнее действие  Ctrl + Z
 Отменить последнюю отмену действия  Ctrl + Shift + Z
 Расширенная вставка из буфера обмена (с историей)  Ctrl + Shift + V
 Инкрементальное выделение выражения  Ctrl (+ Shift) + W
 Перемещение между словами  Ctrl + влево/вправо
 Прокрутка кода без изменения позиции курсора  Ctrl + вверх/вниз
 Переход в начало/конец файла  Ctrl + Home/End
 Удаление строки, отличие в том, где потом окажется курсор  Shift + Del (Ctrl + Y)
 Удалить от текущей позиции до конца слова  Ctrl + Del
 Удалить от текущей позиции до начала слова  Ctrl + Backspace
 Дублировать текущую строку  Ctrl + D
Увеличить / уменьшить текущий отступ Tab / Shift + Tab
Выравнивание отступов в коде Ctrl + Alt + I
Приведение кода в соответствие Code-Style Ctrl + Alt + L
Закомментировать/раскомментировать текущую строку Ctrl + /
Закомментировать/раскомментировать выделенный код Ctrl + Shift + /
Фолдинг, свернуть/развернуть Ctrl + -/+
Фолдинг, свернуть/развернуть все Ctrl + Shift + -/+
Сделать текущий скоуп сворачиваемым и свернуть его Ctrl + Shift + .
Сделать текущий скоуп несворачиваемым Ctrl + .
Замена в тексте Ctrl + R
Замена во всех файлах Ctrl + Shift + R

Работа с окнами, вкладками:

Перемещение между вкладками Alt + влево/вправо
Закрыть вкладку Ctrl + F4
Открытие/закрытие окон Project, Structure, Changes и тд Altl + число
Переключение между вкладками и окнами Ctrl + Tab
Закрыть активное окно Shift + Esс
Открыть последнее закрытое окно F12
Zoom, если он был вами настроен Ctrl + колесико мыши

Работа с поиском:

Быстрый поиск по всему проекту Дважды Shift
Быстрый поиск по настройкам, действиям и тд Ctr + Shift + A
Перейти к следующему/предыдущему методу Alt + вниз/вверх
Перемещение к началу и концу текущего скоупа Ctrl + [ и Ctrl + ]
Поиск в файле Ctrl + F
Поиск по всем файлам (переход — F4) Ctr + Shift + F
Искать слово под курсором Ctrl + F3
Искать вперед/назад F3 / Shift + F3
Переход к строке или строке:номеру_символа Ctrl + G
Список методов с переходом к их объявлению Ctrl + F12
Список недавно открытых файлов с переходом к ним Ctrl + E
Список недавно измененных файлов с переходом к ним Ctrl + Shift + E
Иерархия наследования текущего класса и переход по ней Ctrl + H
Иерархия вызовов выбранного метода Ctrl + Alt + H
Поиска класса по имени и переход к нему Ctrl + N
Поиск файла по имени и переход к нему Ctrl + Shift + N
Перейти к объявлению переменной, класса, метода Ctrl + B
Перейти к реализации Ctrl + Alt + B
Определить тип и перейти к его реализации Ctrl + Shift + B
Перемещение назад по стеку поиска Shift + Alt + влево
Перемещение вперед по стеку поиска Shift + Alt + вправо
Переход к следующей / предыдущей ошибке F2 / Shift + F2
Найти все места, где используется метод / переменная Shift + Alt + 7
Как предыдущий пункт, только во всплывающем окне Ctrl + Alt + 7

Генерация кода и рефакторинг:

Полный автокомплит Ctrl + Space
Автокомплит с фильтрацией по подходящему типу Ctrl + Shift + Space
Простой автокомплит по словам, встречающимся в проекте Alt + /
Реализовать интерфейс Ctrl + I
Переопределить метод родительского класса Ctrl + O
Генерация шаблонного кода (обход по итератору и тд) Ctrl + J
Обернуть выделенный код в один из шаблонов Ctrl + Alt + J
Генератор кода — сеттеров, зависимостей в pom.xml и тд Alt + Insert
Переименование переменной, класса и тд во всем коде Shift + F6
Изменение сигнатуры метода во всем коде Ctrl + F6
Перемещение метода, класса или пакета F6
Создать копию класса, файла или каталога F5
Создать копию класса в том же пакете Shift + F5
Безопасное удаление класса, метода или атрибута Alt + Delete
Выделение метода Ctrl + Alt + M
Выделение переменной Ctrl + Alt + V
Выделение атрибута Ctrl + Alt + F
Выделение константы (public final static) Ctrl + Alt + C
Выделение аргумента метода Ctrl + Alt + P
Инлайнинг метода, переменной, аргумента или константы Ctrl + Alt + N
Оптимизация импортов Ctrl + Alt + O

Тут представлены не все горячие клавиши, если этого для вашей работы не достаточно можете поискать нужные тут.

Понравилась статья? Поделить с друзьями:
  • Как изменить название переменной сразу во всей программе idea
  • Как изменить название пдф файла на телефоне
  • Как изменить название пдф документа
  • Как изменить название папок на андроиде
  • Как изменить название папки через командную строку