Eclipse: Tôi có nên tạo không gian làm việc cho mỗi dự án không?


80

Tôi chỉ đơn giản là tự hỏi liệu tốt nhất nên đặt tất cả các dự án Eclipse của tôi vào một không gian làm việc hay thực hiện 1 không gian làm việc trên 1 dự án. Tôi chỉ là một nhà phát triển solo, vì sở thích ít nhiều, nhưng các ứng dụng tôi tạo thực sự có phiên bản sản xuất đang chạy trên các công việc khá thường xuyên, vì vậy nó gần giống như một môi trường sản xuất nghiệp dư.

Vấn đề duy nhất mà tôi nhận thấy cho đến nay là đối với việc xuất JAR, tôi có khả năng bao gồm các tệp nguồn từ các dự án khác, điều này có vẻ như nó có thể trở nên lộn xộn.


Tôi nhận thấy rằng nó hoạt động tốt cho tôi khi sử dụng không gian làm việc cho mỗi nhánh mã nguồn. Nếu bạn cần ở nhiều nơi trong một chi nhánh nhất định thì cũng có thể hữu ích khi có những nơi đó trong không gian làm việc riêng biệt.
Thorbjørn Ravn Andersen

Câu trả lời:


29

Tôi đã từng giữ các không gian làm việc riêng biệt, nhưng cảm thấy mệt mỏi với khó khăn trong việc giữ các cài đặt nhất quán giữa chúng. Bây giờ những gì tôi làm là tạo các bộ làm việc cho các dự án khác nhau và thay đổi bộ làm việc cửa sổ hiện tại để lọc ra mọi thứ ngoại trừ những gì tôi muốn làm việc. Cho đến nay điều này đã làm việc tốt cho tôi.

Vì mỗi dự án có thể có nhiều nhóm làm việc và nhóm làm việc cửa sổ có thể là bất kỳ sự kết hợp nào của các nhóm làm việc, nên khá dễ dàng để chỉ xem những gì bạn muốn tại bất kỳ thời điểm nào theo cách này.


Nếu đây là tôi, tôi đã chọn đây là câu trả lời chính xác. Thật dễ dàng để chỉ cần lọc mọi thứ bằng cách sử dụng bộ làm việc cửa sổ mà không cần phải phá vỡ bất kỳ thứ gì hoặc phải tạo không gian làm việc ở đây và ở đó. Điều này giúp bạn chỉ xem các dự án có liên quan và chỉ tập trung vào những gì bạn cần.
steelmonkey,

28

Tôi tạo không gian làm việc Eclipse xung quanh các sản phẩm, vì đối với tôi, một sản phẩm có thể có nhiều dự án bên trong chúng, chẳng hạn như có các thư viện lõi được biên dịch thành một jar trong một dự án, điều này được sử dụng bởi các dự án khác.

Về môi trường sản xuất, bạn sẽ muốn các sản phẩm chạy trong các cấu trúc thư mục khác nhau, theo cách đó sạch hơn nhiều. Và trong eclipse, vùng làm việc tạo ra một thư mục có tên vùng làm việc. Vì vậy, hãy tạo không gian làm việc dựa trên sản phẩm / ứng dụng thay vì một hoặc nhiều dự án bên trong chúng.


1
Bạn có thêm toàn bộ không gian làm việc vào kiểm soát nguồn dưới dạng một lần nhập / đăng ký ban đầu gốc không?
Zombies

4
Thông thường, chúng tôi không thêm không gian làm việc hoặc tệp dự án nhật thực vào kiểm soát nguồn mà chỉ thêm mã và nội dung dự án. Mục tiêu ở đây là miễn là mã nguồn biên dịch và chạy trong hệ thống xây dựng hàng đêm, nhà phát triển có thể tùy chỉnh không gian làm việc của mình khi họ cho là phù hợp.
omermuhammed

1
Còn khi bạn nâng cấp Eclipse thì sao? Bạn có tạo không gian làm việc mới và nhập dự án không? (Có lẽ đây nên là một câu hỏi mới ...) Tôi hỏi, bởi vì tôi đã gặp sự cố sau khi nâng cấp từ Indigo, Helio, Juno, bây giờ là Kepler, và do đó, hãy tạo một không gian làm việc mới cho mỗi loại. Bất tiện lắm.
dfdumaresq

3
Khi bạn nâng cấp Eclipse, trước tiên hãy sao lưu không gian làm việc của bạn vào một thư mục riêng và cố gắng mở không gian làm việc hiện có bằng Eclipse mới (tôi nghĩ Kepler là mới nhất). Nếu nó hoạt động tốt thì bạn tốt cho sự phát triển bình thường, nếu không bạn có thể tạo một không gian làm việc mới cho phiên bản eclipse mới. Những vấn đề bạn đề cập đến, cẩn thận gỡ lỗi họ và đảm bảo rằng họ là những vấn đề thực so với các vấn đề cấu hình không gian làm việc, nói đường dẫn hardcoded, vv
omermuhammed

6

Nếu các dự án có mối quan hệ với nhau (nghĩa là có sự phụ thuộc vào nhau) thì việc đặt chúng trong cùng một không gian làm việc là rất hợp lý. Ngoài ra, nếu bạn đang thực hiện một số dự án để giải quyết một vấn đề liên quan, điều tương tự cũng áp dụng.

Bạn sẽ lãng phí rất nhiều thời gian để thay đổi không gian làm việc một cách không cần thiết, đặc biệt là khi IDE sẽ ngay lập tức cho bạn thấy tác động của những thay đổi trong dự án này đối với dự án khác.


6

Tôi không chỉ giữ các không gian làm việc riêng biệt cho từng dự án mà còn giữ các bản sao riêng biệt của Eclipse. Điều này là do tôi thường phải đặt các dự án trên băng trong thời gian dài và quay lại với chúng (với một chút thông báo) và chúng hoàn toàn phải xây dựng. Tôi không thể có cơ hội rằng một số plugin mà tôi đã cài đặt cho dự án mới nhất của mình (dựa trên maven) sẽ can thiệp vào quá trình xây dựng của một trong những hệ thống kế thừa (dựa trên kiến). Đối với hồ sơ tôi làm tài liệu môi trường thực đối với những hệ thống cũ nhưng tôi không có thời gian để gây rối với nhật thực khi vá một lỗi sản xuất.


3

Tôi sẽ sử dụng các không gian làm việc riêng biệt cho các "nhóm" dự án khác nhau. Ví dụ: bạn có thể muốn kết hợp dự án ứng dụng chính của mình VÀ dự án thử nghiệm đơn vị với nhau trong cùng một không gian làm việc.


Thật thú vị .. Tôi thực sự đặt thư mục mã nguồn thử nghiệm đơn vị trong cùng một dự án.
Zombies

@Zombies: Ví dụ: tôi có một dự án Android và dự án Android Test trong cùng một không gian làm việc. Dự án thử nghiệm chỉ cần tham chiếu đến ứng dụng thực tế.
Bryan Denny

3

Có lẽ tôi không may mắn, nhưng Eclipse thường (giả sử mỗi tháng một lần) chết khi khởi động, điển hình là trong giai đoạn "Khởi tạo công cụ Java". Giải pháp được đề xuất dường như là tạo một không gian làm việc mới. Nếu bạn có tất cả các dự án của mình trong một không gian làm việc, điều này có thể là một điều khó khăn. Tôi nghĩ rằng không gian làm việc nhỏ hơn có thể có nghĩa là sự cố ít xảy ra hơn.


Điểm tốt, tôi có nguy cơ làm hỏng mọi thứ theo cách này. Nó giống như một hệ sinh thái sống động của mã.
Zombies

2
Bạn đang sử dụng kiểm soát phiên bản, phải không?
Meriton

Có thể ổn đối với một số người. Băng thông rộng tại Úc là một thập kỷ đằng sau thế giới 'phát triển' ...
John

6
Bạn không cần truy cập internet để có quyền kiểm soát phiên bản, đặc biệt nếu bạn sử dụng một số hệ thống phân tán như git hoặc thương mại.
Bad Sector

3

Vì các Tùy chọn dành riêng cho không gian làm việc, tôi có xu hướng mở một không gian làm việc rất lớn - Tôi quá lười để đồng bộ một số cài đặt giữa các không gian làm việc (ví dụ: kho ...).

Mặt khác, việc mở quá nhiều dự án trong một không gian làm việc có thể làm chậm Eclipse - vì vậy tôi phải làm ít nhất là đóng các dự án mà tôi không làm việc cùng. Tôi quản lý rất nhiều dự án ngắn hạn tương đối (nhiều nhất là một tháng) trong Eclipse, nằm trong cùng một không gian làm việc (và trong hầu hết các trường hợp là cùng một kho lưu trữ), vì vậy thiết lập này mang lại cho tôi sự linh hoạt hơn.

Nếu bạn có nhiều dự án liên quan đến nhau, hãy giữ chúng trong cùng một không gian làm việc. Nếu bạn có thể xác định nhóm dự án luôn được sử dụng cùng nhau, nhưng các nhóm được sử dụng độc lập, thì hãy đặt các nhóm dự án đó vào các không gian làm việc khác nhau. Trong trường hợp đó, đó phải là cấu trúc logic.


1
Đây cũng là cách tiếp cận của tôi. Tôi chỉ giữ một không gian làm việc cho tất cả các dự án Java của mình. Một vài trong số chúng phụ thuộc vào các dự án khác, vì vậy điều đó thật tiện lợi và tôi có các bộ làm việc cho từng dự án. Tuy nhiên, tôi có xu hướng đóng những công việc mà tôi không tích cực làm việc - khiến mọi thứ phải dễ quản lý hơn.
elduff

3

Chúng tôi có một tình huống mà chúng tôi có một số dự án, một số dự án trên các chi nhánh, nói thẳng ra là quá không thực tế để giữ trong cùng một không gian làm việc - và các nhóm làm việc là một trò đùa. Không may. Ngoài ra, có những dự án đang mở mà bạn không sử dụng, có thể vô tình được chọn từ các trình hoàn thành, v.v. Dễ xảy ra lỗi.

Tính năng thực sự tiện lợi đối với chúng tôi là khi Nhóm -> Bộ dự án được thêm vào (tôi tin rằng trong Eclipse 3.3) vì điều này cho phép chúng tôi có một tệp duy nhất mô tả nhiều dự án tạo nên toàn bộ ứng dụng, có thể được nhập vào Eclipse với Nhóm -> Nhập khẩu. Cần một dự án nhất định? Kiểm tra nó ra khỏi CVS, tìm tệp projectSet.psf bên trong nó và nhập THAT.

Điều này đã được chứng minh là hoạt động tốt cho chúng tôi.


Lưu ý, kể từ đó, chúng tôi đã chuyển sang maven, giúp quản lý nhiều dự án đan xen dễ dàng hơn nhiều.
Thorbjørn Ravn Andersen

3

Tôi có một không gian làm việc cho mỗi Loại dự án. Ví dụ: Java thuần túy, Ứng dụng web, Python, v.v.

Lý do là tôi có thể chia sẻ các thư viện tương tự mà không cần sao chép hoặc trỏ tới chúng. Ngoài ra, tôi đóng các dự án không liên quan từ nhật thực để tránh lộn xộn.


2

Tôi có tất cả các dự án của mình trong một không gian làm việc duy nhất và sử dụng các nhóm làm việc để quản lý chúng.


1

Tùy thuộc vào bạn! Tôi luôn thấy rằng việc giữ các phiên bản liên quan của các dự án khác nhau, thuộc cùng một bản phát hành trong một không gian làm việc nhất định là một cách tiếp cận sạch hơn. Bằng cách đó, tôi có thể chuyển đổi giữa các không gian làm việc bất cứ khi nào tôi cần tham chiếu đến điều gì đó trong một bản phát hành riêng biệt và chuyển trở lại không gian làm việc bản phát hành hiện tại. Nó cũng giúp tôi thoát khỏi những rắc rối khi kiểm tra hoặc duyệt qua kho lưu trữ.


1

Bạn cũng có thể muốn lưu ý rằng bạn có thể mở nhiều trường hợp nhật thực miễn là chúng đang nhìn vào các không gian làm việc khác nhau. Không chắc điều đó có quan trọng với bạn không, nhưng tôi thích làm điều đó theo thời gian.


Trong OSX, bất kỳ gói ứng dụng nào được mở bằng lệnh mở (đó là cách công cụ tìm kiếm hoạt động) sẽ chỉ cho phép một phiên bản đang chạy. Tuy nhiên chạy từ dòng lệnh Eclipse.app/Contents/MacOS/eclipse sau đó bạn có thể có nhiều bản sao chạy
mmmmmm

1

Tôi thích sử dụng một số không gian làm việc được tách riêng (khác nhau tùy thuộc vào loại dự án), nhập các dự án từ nhiều vị trí khác nhau. Dễ dàng di chuyển mọi thứ xung quanh mà không tạo ra nhiều không gian làm việc giống nhau. Chơi tốt với SCM của tôi quá.


1

Phụ thuộc vào số lượng dự án bạn làm việc? Nếu bạn làm việc trên nhiều dự án, tôi sẽ sử dụng cùng một không gian làm việc, bởi vì nếu bạn sử dụng nhiều dự án, bạn có thể dễ dàng quên đâu là đâu và điều đó có thể khiến bạn khó chịu. Tuy nhiên, tôi luôn sử dụng không gian làm việc khác nhau cho các ngôn ngữ lập trình khác nhau theo cách ít khó hiểu hơn, khi bạn ở trong không gian làm việc JAVA, bạn nghĩ JAVA: D

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.