Jak udostępnić konfiguracje IntelliJ Run / Debug między projektami?


143

Mam wiele różnych wersji mojej aplikacji. Każdy z nich to osobny projekt intellij. Za każdym razem, gdy otwieram nowy, lista konfiguracji jest pusta:

wprowadź opis obrazu tutaj

Irytujące jest to, że wdrażam na 1 maszynę wirtualną i muszę kopiować i wklejać konfiguracje debugowania za każdym razem, gdy chcę przetestować inną wersję. Intellij sprawia, że ​​to okno dialogowe jest modalne dla instancji Intellij, więc nie mogę kopiować i wklejać pól między wystąpieniami projektu.

W końcu robię zrzut ekranu jednej konfiguracji i ręcznie kopiuję pola do drugiego projektu. To dość prymitywne rozwiązanie. Czy istnieje wygodniejszy sposób przenoszenia konfiguracji uruchamiania z jednego projektu do drugiego?

Używam Intellij 13 w systemie Windows 7.


Czy mogę udostępniać ustawienia IntelliJ Idea w różnych projektach? może mieć na to odpowiedź, ale pytanie jest inne. Chodzi o układ okien. Dlatego nie uważam tego za duplikat.



Stworzyłem na to bilet . Idź głosować!
Eyal Roth

Odpowiedzi:


185

Najlepszym sposobem na to jest kliknięcie znacznika „udostępnij” obok pola Nazwa podczas edycji / tworzenia konfiguracji. Możesz dostać się do tego okna dialogowego za pomocą Uruchom> Edytuj konfiguracje.

wprowadź opis obrazu tutaj

Znacznik udziału wyciąga ustawienie z twojego workspace.xmli zamiast tego umieszcza je w katalogu .idea\runConfigurations. Ma to na celu udostępnienie tego ustawienia innym osobom. Możesz skopiować ten plik i umieścić go w tej samej lokalizacji we wszystkich swoich projektach pomysłów.

Jednak w przyszłości warto rozważyć użycie gałęzi kontroli źródła dla wersji aplikacji zamiast oddzielnych projektów. IntelliJ radzi sobie z tym bardzo dobrze.


1
„możesz rozważyć użycie gałęzi kontroli źródła dla wersji aplikacji zamiast oddzielnych projektów” Jak to działa? Obawiam się, że pliki źródłowe 20x spowalniają działanie Intellij. Czy rozważa tylko jeden naraz?
Daniel Kaplan,

2
@tieTYT Yes. Sposób działania gałęzi kontroli źródła polega na tym, że edytuje wszystkie pliki lokalne, aby pasowały do ​​gałęzi. Następnie zmieniasz gałęzie, robi to ponownie. W rezultacie masz mniej miejsca używanego w lokalnym systemie plików. Herezje dobra lektura dla Ciebie: git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
Nick Humrich

2
@tieTYT Zasadniczo masz tylko jedną gałąź istniejącą na twoim lokalnym komputerze naraz. Jeśli chcesz pracować nad inną wersją, kontrola źródła zmienia ją na tę wersję za Ciebie. Nie będziesz mieć „plików źródłowych 20x”, ponieważ na raz masz tylko 1x.
Nick Humrich,

Ach, w pracy używamy SVN. To powiedziawszy, używam lokalnie mostka Git-SVN. Jednak nigdy nie przeszedłem na inną gałąź SVN. Chyba spróbuję.
Daniel Kaplan,

2
@jay, zawsze możesz dodać plik, aby nie był wykluczony w swoim .gitignore. !.idea/runConfidurations/name
Nick Humrich

42

Konfiguracje uruchomieniowe są domyślnie przechowywane w pliku .idea / workspace.xml. Pierwszą alternatywą jest udostępnienie tego pliku, ale jest to niewykonalne, ponieważ udostępniasz również wiele niepotrzebnych konfiguracji. Jak już powiedziano, pierwszym krokiem jest zaznaczenie opcji „udostępnij”, aby oddzielić konfiguracje uruchamiania od workspace.xml.

wysyłanie konfiguracji uruchamiania z workspace.xml

Następnie polecam dodanie runConfigurations do kontroli źródła. Ale głównym problemem jest to, że prawdopodobnie oznaczyłeś już folder .idea jako zignorowany. Możesz anulować ignorowanie folderu, konfigurując system kontroli źródła. Na przykład, jeśli używasz git, możesz zmienić plik .gitignore w następujący sposób:

.idea/*
!/.idea/runConfigurations

nie zapomnij dodać * po .idea /

Na koniec dodaj konfiguracje uruchomieniowe do kontroli źródła i ciesz się udostępnianymi konfiguracjami!


To zasady, dokładnie to chciałem wiedzieć, ponieważ rzeczywiście ignorowaliśmy .idea i nie było sposobu, aby go zignorować bez dużych bólów głowy.
David Mann

Niesamowite! To jest to, czego szukałem od dawna.
Jonas Gröger,

1
Dla mojego zespołu umieszczanie konfiguracji Run w VCS nie wchodzi w grę. Konfiguracje Run zawierają wartości - takie jak ścieżki - które różnią się między użytkownikami. To, czego potrzebuję, to udostępnianie konfiguracji Run wśród moich własnych projektów, a nie wśród członków zespołu.
Ivan dal Bosco

17

iść do

Run > Edit Configuration > create or select existing configuration you want to use > click save and persist it on file system > click on share check mark

teraz skopiuj ten plik z

 PROJECT_ROOT_DIRECTORY/.idea/runConfigurations/ConfigurationName.xml

do twojego NEW_PROJECT_ROOT_DIRECTORY/.idea/runConfigurationsw tym samym miejscu i jest teraz dostępny dla twojej konfiguracji uruchamiania


Myślę, że najpierw musisz sprawdzić Udostępnij, tak jak powiedział Humdinger
Daniel Kaplan

14

Powinieneś skopiować folder

~/your-old-project/.idea/runConfigurations 

do

~/your-new-project/.idea/

To jest folder zawierający konfiguracje uruchamiania.


5
Uważam, że musisz ustawić je tak, aby najpierw „udostępniać”, jak opisano w zaakceptowanej odpowiedzi.
Muhd

0

To nie jest dokładnie odpowiedź na twoje pytanie, ale odpowiada na pytanie podobne do twojego pytania i jedno, które miałem, i zakładam, że inni też mogą.

To znaczy, jak zapisać konfiguracje testowe urządzenia i oprzyrządowania? Zwykle klikam prawym przyciskiem myszy katalog testowy, co powoduje wyświetlenie menu z opcją Uruchom wszystko, co jest w tym katalogu. Następnie AndroidStudio tworzy konfigurację uruchamiania w locie, aw rozwijanym menu Uruchom konfigurację pojawi się nowa opcja „Zapisać nową konfigurację?” lub coś podobnego.

Kliknięcie tej opcji powoduje wyświetlenie menu Uruchom konfigurację iw tym momencie zaznaczam pole Udostępnij, o czym wspominało już wielu innych. Spowoduje to wyświetlenie przez system kontroli wersji pytania, czy chcę dodać ten nowy plik konfiguracyjny uruchamiania. Jeśli nie zarejestrowałeś swojego systemu kontroli wersji, możesz znaleźć nowe pliki w .idea / runConfigurations.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.