IntelliJ Çalıştır / Hata Ayıklama yapılandırmalarını projeler arasında nasıl paylaşabilirim?


144

Uygulamamın birçok farklı sürümü var. Her biri ayrı bir intellij projesidir. Ne zaman yeni bir tane açsam, yapılandırma listesi boş başlar:

resim açıklamasını buraya girin

Bu konuda can sıkıcı bir şey 1 vm dağıtmak ve farklı bir sürümü test etmek istediğiniz her zaman hata ayıklama yapılandırma kopyalamak ve yapıştırmak zorunda. Intellij, bu iletişim kutusunu Intellij Eşgörünümü başına kalıcı yapar, bu nedenle alanları Proje Eşgörünümleri arasında kopyalayıp yapıştıramıyorum.

Sonunda bir yapılandırmanın ekran görüntüsünü alıp alanları diğer projeye elle kopyalarım. Bu oldukça ilkel bir çözüm. Bir projeden diğerine çalıştırma yapılandırması almanın daha uygun bir yolu var mı?

Windows 7'de Intellij 13 kullanıyorum.


IntelliJ Idea ayarlarını farklı projelerde paylaşabilir miyim? bunun cevabı olabilir, ama soru farklı. Pencere düzeni ile ilgili. Bu yüzden bunu bir kopya olarak görmüyorum.



Bunun için bir bilet oluşturdu. Oy ver!
Eyal Roth

Yanıtlar:


186

Bunu yapmanın en iyi yolu, yapılandırmayı düzenlerken / oluştururken Ad alanının yanındaki "paylaş" onay işaretini tıklamaktır. Bu İletişim Kutusuna Çalıştır> Yapılandırmaları Düzenle ile ulaşabilirsiniz.

resim açıklamasını buraya girin

Paylaşım onay işareti ayarı kendinizden çıkarır workspace.xmlve bunun yerine dizine koyar .idea\runConfigurations. Bu, ayarı başkalarıyla paylaşabileceğiniz şekilde tasarlanmıştır. Bu dosyayı kopyalayıp tüm fikir projelerinizde aynı konuma koyabilirsiniz.

Ancak, gelecekte, ayrı projeler yerine uygulama sürümleri için kaynak denetim dallarını kullanmayı düşünebilirsiniz. IntelliJ bunları çok iyi idare ediyor.


1
"ayrı projeler yerine uygulama sürümleri için kaynak denetim dallarını kullanmayı düşünebilirsiniz" Nasıl çalışır? 20x kaynak dosyalarının Intellij'i daha yavaş çalıştırmasını sağlayacağım. Her seferinde sadece birini mi düşünüyor?
Daniel Kaplan

2
@tieTYT Evet. Bir kaynak denetim dalının nasıl çalıştığı, tüm yerel dosyalarınızı dalla eşleşecek şekilde düzenlemesidir. Sonra dalları değiştirirsiniz, yine yapar. Sonuç olarak, yerel dosya sisteminizde daha az alan kullanılır. Heres sizin için iyi bir okuma: git-scm.com/book/en/Git-Branching-Basic-Branching-and-Birleme
Nick Humrich

2
@tieTYT Temel olarak, yerel makinenizde aynı anda yalnızca bir şubeniz var. Başka bir sürümde çalışmak istediğinizde, kaynak denetimi sizin için bu sürüme değiştirir. "20x kaynak dosyalarınız" olmayacak çünkü bir seferde yalnızca 1x'iniz var.
Nick Humrich

Ah, işte SVN kullanıyoruz. Git-SVN köprüsünü yerel olarak kullandığım söyleniyor. Yine de ondan farklı bir SVN şubesine geçmedim. Sanırım bir şans vereceğim.
Daniel Kaplan

2
@jay .gitignore'nuzda hariç tutulması için dosyayı her zaman ekleyebilirsiniz. !.idea/runConfidurations/name
Nick Humrich

42

Çalışma yapılandırmaları varsayılan olarak .idea / workspace.xml dosyasında depolanır. İlk alternatif bu dosyayı paylaşmaktır, ancak pek çok gereksiz yapılandırmayı da paylaştığınız için mümkün değildir. Daha önce de belirtildiği gibi, ilk adım, çalışma yapılandırmalarını workspace.xml dosyasından ayırmak için "paylaş" seçeneğini işaretlemektir.

workspace.xml dosyasından çalıştırma yapılandırmalarını gönderme

Bundan sonra, kaynak denetimine runConfigurations eklemenizi öneririm. Ancak asıl sorun, muhtemelen .idea klasörünü yok sayılmış olarak işaretlemiş olmanızdır. Kaynak kontrol sisteminizi yapılandırarak klasörün atamasını kaldırabilirsiniz. Örneğin, git kullanıyorsanız .gitignore dosyasını aşağıdaki gibi değiştirebilirsiniz:

.idea/*
!/.idea/runConfigurations

.idea / öğesinden sonra * eklemeyi unutmayın

Son adım olarak, çalışma yapılandırmalarınızı kaynak denetimine ekleyin ve paylaşılan yapılandırmalarınızın keyfini çıkarın!


Bu kurallar, tam olarak bilmek istediğim şeydi, çünkü gerçekten .idea'yı görmezden geliyorduk ve büyük baş ağrıları olmadan onu görmezden gelmenin bir yolu yoktu.
David Mann

Müthiş! Uzun zamandır aradığım şey buydu.
Jonas Gröger

1
Ekibim için, Çalıştırma yapılandırmalarını VCS'ye koymak bir seçenek değildir. Çalıştırma yapılandırmaları, kullanıcılar arasında farklılık gösteren - yollar gibi - değerler içerir. İhtiyacım olan Run yapılandırmalarını ekip üyeleri arasında değil, kendi projelerim arasında paylaşmak.
Ivan dal Bosco

18

git

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

şimdi bu dosyayı şuradan kopyala:

 PROJECT_ROOT_DIRECTORY/.idea/runConfigurations/ConfigurationName.xml

senin için NEW_PROJECT_ROOT_DIRECTORY/.idea/runConfigurationsaynı yerde ve koşunuz yapılandırmaya artık kullanılabilir


Sanırım Humdinger'ın dediği gibi paylaşmalısın
Daniel Kaplan

14

Klasörü kopyalamalısınız

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

için

~/your-new-project/.idea/

Çalıştırma yapılandırmalarını içeren klasör budur.


5
Onları ilk önce kabul edilen cevapta ayrıntılı olarak "paylaşacak" şekilde ayarlamanız gerektiğine inanıyorum.
Muhd

0

Bu, sorunuzun tam olarak bir cevabı değil, sorunuza ve benim sahip olduğum soruya benzer bir soruyu cevaplıyor ve başkalarının da yapabileceğini varsayıyorum.

Yani, birim ve enstrümantasyon test çalıştırması yapılandırmaları nasıl kaydedilir? Ben genellikle o dizinde ne varsa Çalıştır seçeneği ile bir menü getiriyor test dizini sağ tıklayın. AndroidStudio daha sonra anında bir çalıştırma yapılandırması oluşturur ve Yapılandırmayı Çalıştır açılır menüsünde "Yeni yapılandırma kaydedilsin mi?" Veya benzeri.

Bu seçeneğe tıklamak Yapılandırmayı Çalıştır menüsünü açar ve bu noktada Paylaşım kutusunu daha önce belirtildiği gibi işaretlerim. Bu daha sonra sürüm kontrol sisteminden bu yeni çalıştırma yapılandırma dosyasını eklemek isteyip istemediğimi sormasını isteyecektir. Sürüm kontrol sisteminizi kaydetmediyseniz yeni dosyaları .idea / runConfigurations altında bulabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.