PhpStorm загружает набор файлов на основе текущей ветки git, подпроекта или контекста

Я использую PhpStorm для управления несколькими проектами, которые происходят одновременно.

PhpStorm любезно запоминает загруженные файлы между проектами, поэтому, когда я возвращаюсь к Project Foo, все мои последние файлы все еще открыты.

Однако Project Bar огромен и имеет ряд подпроектов, многие из которых, но не все, являются ответвлениями в git.

Есть ли способ изменить контекст или подпроект, чтобы все файлы, которые я открыл для виджета Bar Window, сохранялись при переходе на Bar Laravel Refactor? И снова сохраняет их и снова открывает мои файлы виджета окна панели при работе над этим подпроектом?

Даже возможность сделать это на основе текущей ветки git будет стартовой.


person brianlmerritt    schedule 15.01.2016    source источник
comment
Вы можете использовать Context функциональность (Tools | Tasks & Contexts). Также: 1) confluence.jetbrains. com/display/PhpStorm/ 2) confluence.jetbrains.com/display/PhpStorm/ -- возможно, вы найдете что-то полезное и неизвестное для себя.   -  person LazyOne    schedule 15.01.2016


Ответы (1)


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

Возможным решением является создание отдельных проектов PhpStorm для каждого из ваших подпроектов (например, в зависимости от того, как они хранятся в репозиториях VCS). Если вам нужно создать другой проект PhpStorm для вашего основного проекта, вы можете разрешить ему исключать каталоги, содержащие подпроекты (и обрабатываются другими проектами PhpStorm). Вы можете сделать это, щелкнув правой кнопкой мыши каталог в представлении Project, а затем Mark Directory As -> Excluded. Исключенными каталогами можно управлять в диалоговом окне Preferences на странице Directories.

Недостаток этого решения: приходится работать с несколькими окнами PhpStorm (каждый проект открывается в новом окне).


Другой способ сгруппировать файлы и каталоги — создать области действия (Preferences -> Appearance & Behaviour -> Scopes). Область определяет правила для включения и исключения файлов и каталогов на основе их имен и путей. Это не очень гибко, но работает. Области отображаются в окне Projects в верхнем раскрывающемся списке, который также содержит Project, Project Files, Problems и т. д.).

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


Что-то более близкое к тому, что вам нужно, это функция Context. Она работает рука об руку с функцией Task, но ее можно использовать и отдельно. Оба можно найти в menu -> Tools -> Tasks & Contexts.

Откройте несколько файлов, которые вам нужны для работы над функцией Foo. Сохраните контекст как Foo. Закройте файлы, откройте другие файлы, необходимые для работы над функцией Bar. Сохраните контекст как Bar. Загрузите ранее сохраненный контекст Foo. Он должен делать то, что вам нужно.

Если вы также используете Tasks, то контекст может быть связан с задачей. Автоматическое переключение задач также переключает связанные контексты (и правильный список файлов открыт).

person axiac    schedule 15.01.2016