Làm cách nào để chia sẻ cấu hình IntelliJ Run / Debug giữa các dự án?


142

Tôi có nhiều phiên bản khác nhau của ứng dụng của tôi. Mỗi người là một dự án intellij riêng. Mỗi khi tôi mở một cái mới, danh sách các cấu hình sẽ bắt đầu trống:

nhập mô tả hình ảnh ở đây

Điều khó chịu về điều này là tôi triển khai lên 1 vm và tôi phải sao chép và dán các cấu hình gỡ lỗi mỗi lần tôi muốn thử nghiệm một phiên bản khác. Intellij thực hiện chế độ hộp thoại này theo Thể chế Intellij, vì vậy tôi không thể sao chép và dán các trường giữa các Trường hợp Dự án.

Tôi cuối cùng đã chụp ảnh màn hình của một cấu hình và sao chép các trường bằng tay vào dự án khác. Đó là một giải pháp khá nguyên thủy. Có cách nào thuận tiện hơn để có được một cấu hình chạy từ dự án này sang dự án khác không?

Tôi đang sử dụng Intellij 13 trên Windows 7.


Tôi có thể chia sẻ cài đặt cho IntelliJ Idea trên các dự án khác nhau không? có thể có câu trả lời cho điều này, nhưng câu hỏi là khác nhau. Đó là về cách bố trí cửa sổ. Vì vậy, tôi không coi đó là một bản sao.



Tạo một cho việc này. Đi bầu!
Eyal Roth

Câu trả lời:


185

Cách tốt nhất để làm điều này là nhấp vào dấu "chia sẻ" bên cạnh trường Tên khi bạn chỉnh sửa / tạo cấu hình. Bạn có thể truy cập Hộp thoại này với Run> Chỉnh sửa cấu hình.

nhập mô tả hình ảnh ở đây

Dấu kiểm chia sẻ sẽ kéo cài đặt ra khỏi bạn workspace.xmlvà thay vào đó đặt nó vào thư mục .idea\runConfigurations. Điều này được thiết kế để bạn có thể chia sẻ cài đặt với người khác. Bạn có thể sao chép tệp này và đặt nó ở cùng một vị trí trong tất cả các dự án ý tưởng của bạn.

Tuy nhiên, trong tương lai, bạn có thể muốn xem xét sử dụng các nhánh kiểm soát nguồn cho các phiên bản ứng dụng thay vì các dự án riêng biệt. IntelliJ xử lý những điều này rất tốt.


1
"Bạn có thể muốn xem xét sử dụng các nhánh kiểm soát nguồn cho các phiên bản ứng dụng thay vì các dự án riêng biệt" Nó hoạt động như thế nào? Tôi lo ngại rằng các tệp nguồn 20x sẽ khiến Intellij chạy chậm hơn. Có phải nó chỉ xem xét một lúc?
Daniel Kaplan

2
@tieTYT Vâng. Cách một nhánh kiểm soát nguồn hoạt động là nó chỉnh sửa tất cả các tệp cục bộ của bạn để khớp với nhánh. Sau đó, bạn chuyển chi nhánh, nó làm lại. Bạn cuối cùng có ít không gian được sử dụng trong hệ thống tệp cục bộ của bạn. Đây là một cuốn sách hay dành cho bạn: git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
Nick Humrich

2
@tieTYT Về cơ bản, bạn chỉ có một chi nhánh tồn tại trên máy cục bộ của mình tại một thời điểm. Khi bạn muốn làm việc trên phiên bản khác, kiểm soát nguồn sẽ thay đổi nó thành phiên bản đó cho bạn. Bạn sẽ không có "tệp nguồn 20x" vì bạn chỉ có 1 lần.
Nick Humrich

À, trong công việc chúng tôi sử dụng SVN. Điều đó đang được nói rằng tôi đang sử dụng cầu Git-SVN tại địa phương. Tôi chưa bao giờ chuyển sang một chi nhánh SVN khác từ nó. Tôi đoán tôi sẽ cho nó một shot.
Daniel Kaplan

2
@jay bạn luôn có thể thêm tệp vào không bị loại trừ trong .gitignore của bạn. !.idea/runConfidurations/name
Nick Humrich

42

Các cấu hình chạy được lưu trữ trong .idea / workspace.xml theo mặc định. Thay thế đầu tiên là chia sẻ tệp này nhưng nó không khả thi vì bạn cũng chia sẻ rất nhiều cấu hình không cần thiết. Như đã nói, bước đầu tiên là kiểm tra tùy chọn "chia sẻ" để tách các cấu hình chạy khỏi workspace.xml.

gửi các cấu hình chạy từ workspace.xml

Sau đó, tôi khuyên bạn nên thêm runConfigurations vào kiểm soát nguồn. Nhưng vấn đề chính là, có lẽ bạn đã đánh dấu thư mục .idea là bỏ qua. Bạn có thể bỏ đánh dấu thư mục bằng cách cấu hình hệ thống kiểm soát nguồn của bạn. Ví dụ: nếu bạn đang sử dụng git, bạn có thể thay đổi tệp .gitignore như sau:

.idea/*
!/.idea/runConfigurations

đừng quên thêm * sau .idea /

Bước cuối cùng, thêm cấu hình chạy của bạn vào kiểm soát nguồn và tận hưởng cấu hình được chia sẻ của bạn!


Quy tắc này, chính xác là những gì tôi muốn biết, bởi vì thực sự chúng tôi đã bỏ qua .idea và không có cách nào để bỏ qua nó mà không phải đau đầu.
David Mann

Tuyệt vời! Đây là những gì tôi đã tìm kiếm trong một thời gian dài.
Jonas Gröger

1
Đối với nhóm của tôi, việc đặt cấu hình Run trong VCS không phải là một tùy chọn. Các cấu hình Run chứa các giá trị - chẳng hạn như đường dẫn - khác nhau giữa những người dùng. Điều tôi cần là chia sẻ các cấu hình Run giữa các dự án của riêng tôi, không phải giữa các thành viên trong nhóm.
Ivan dal Bosco

17

đi đến

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

bây giờ sao chép tập tin này từ

 PROJECT_ROOT_DIRECTORY/.idea/runConfigurations/ConfigurationName.xml

đến NEW_PROJECT_ROOT_DIRECTORY/.idea/runConfigurationscùng một nơi và hiện có sẵn cho cấu hình chạy của bạn


Tôi nghĩ bạn phải kiểm tra Chia sẻ trước như Humdinger đã nói
Daniel Kaplan

14

Bạn nên sao chép thư mục

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

đến

~/your-new-project/.idea/

Đó là thư mục chứa các cấu hình chạy.


5
Tôi tin rằng bạn cần đặt chúng để "chia sẻ" trước như được nêu trong câu trả lời được chấp nhận.
Muhd

0

Đây không chính xác là một câu trả lời cho câu hỏi của bạn nhưng nó trả lời một câu hỏi tương tự như câu hỏi của bạn và câu hỏi mà tôi có, và tôi cho rằng những người khác cũng có thể.

Đó là, Làm thế nào để lưu cấu hình chạy thử nghiệm đơn vị và thiết bị? Tôi thường nhấp chuột phải vào thư mục kiểm tra sẽ hiển thị một menu với tùy chọn Chạy bất cứ thứ gì trong thư mục đó. AndroidStudio sau đó tạo cấu hình chạy nhanh và trong menu thả xuống Cấu hình chạy, một tùy chọn mới sẽ xuất hiện, "Lưu cấu hình mới?" hoặc một cái gì đó tương tự.

Nhấp vào tùy chọn đó sẽ hiển thị menu Cấu hình Run và tại thời điểm đó tôi kiểm tra hộp Chia sẻ như nhiều người khác đã đề cập. Điều này sau đó sẽ nhắc hệ thống kiểm soát phiên bản hỏi tôi có muốn thêm tệp cấu hình chạy mới này không. Nếu bạn chưa đăng ký hệ thống kiểm soát phiên bản của mình, bạn có thể tìm thấy các tệp mới trong .idea / runConfigurations.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.