Eclipse có thể tự động làm mới tài nguyên không?


161

Eclipse (3.4.2 với PyDev) xử lý các tài nguyên không đồng bộ (các tệp đã được chỉnh sửa bên ngoài IDE) khác với các IDE khác mà tôi đã sử dụng, trong đó chỉ các tài nguyên có trình soạn thảo mở được coi là không đồng bộ . Trong Eclipse, bất kỳ tài nguyên nào cũng có thể không đồng bộ.

Điều này có nghĩa là khi tôi thực hiện tìm kiếm sau khi bất kỳ tệp nào thay đổi bên ngoài Eclipse, tôi nhận được một hộp thoại báo lỗi cho tôi biết rằng các tệp không đồng bộ, ngay cả khi chúng không có trình soạn thảo mở. Theo như tôi có thể nói, không có lệnh refresh toàn cầu, vì vậy tôi buộc phải đọc tên dự án (tôi có một vài dự án) trong hộp thoại báo lỗi và thực hiện nhấp chuột phải + refresh cho mỗi trong số chúng.

Tôi đã kiểm tra Refresh Automaticallycài đặt Settings > General > Workspace, nhưng điều này không có hiệu lực. Có cách nào để khiến Eclipse luôn tải các tài nguyên không hoạt động từ đĩa không?


Câu trả lời cập nhật cho Eclipse 3.7+ nằm trong câu trả lời thứ 2.
Paul Verest

Bạn thậm chí có thể đồng bộ hóa với các tệp từ xa bằng cách sử dụng trình thám hiểm hệ thống từ xa (RSE)
Barshe Roussy


@Boris, câu hỏi này đã được hỏi vài năm trước. Cái khác nên được đánh dấu là bản sao của cái này .
Glenn Slayden

Câu trả lời:


199

Vấn đề này sẽ được khắc phục trong Eclipse 3.7 (Indigo). Mặc dù " Làm mới tự động " cuối cùng sẽ đưa tài nguyên trở lại đồng bộ hóa, móc làm mới chỉ tồn tại cho Windows, do đó, trên Linux và Mac OS, nó phải thăm dò hệ thống tệp theo định kỳ.

Từ 3.7 có một ưu tiên mới Settings > General > Workspace > Refresh On Access(hay còn gọi là Làm mới nhẹ). Tùy chọn này khiến Eclipse tự động làm mới tài nguyên khi phát hiện ra rằng chúng 'không đồng bộ'. Khi mở, đọc hoặc tìm kiếm tệp, nó sẽ ngăn các lỗi không đồng bộ xảy ra.

Xem thêm: https://bugs.eclipse.org/303517


61
Nó làm cho tâm trí rằng đây là một lựa chọn . Tôi chưa bao giờ làm mới các tập tin không đồng bộ của mình.
Christoffer Hammarström

18
:( Tôi đã chiến đấu lâu dài và chăm chỉ để biến nó thành một lựa chọn. Bạn nói đúng, thật điên rồ.
James Blackburn

6
Và nếu bạn muốn tùy chọn này là mặc định trong bỏ phiếu 3.8 / 4.2 của Eclipse tại đây: bug.eclipse.org/340977
James Blackburn

5
Tôi sử dụng IntelliJ IDEA mặc dù. Tôi không bao giờ phải lo lắng về việc lưu tệp, vì chúng được lưu tự động. Nó chỉ hoạt động. Nếu một tệp thay đổi trên đĩa, nó sẽ thay đổi trong IDE. Khi có xung đột, nó sẽ cảnh báo bạn và cho phép bạn tìm khác biệt và hợp nhất. Nếu tệ hơn đến mức tệ nhất thì nó có Lịch sử địa phương để bạn luôn có thể quay lại vài phút trước.
Christoffer Hammarström

1
@ Christoffer Hammarström: Eclipse cũng có một lịch sử cục bộ: Nhấp chuột phải vào trình soạn thảo tệp> So sánh với> Lịch sử địa phương.
ccpizza

28

Tôi nghĩ rằng nếu bạn nhấp vào nút dự án trong Project Explorer và nhấn F5 hoặc nhấp chuột phải và chọn Làm mới, tất cả tài nguyên cho dự án đó sẽ được làm mới. Ngoài ra, nếu bạn CTRL + nhấp vào nhiều dự án, bạn sẽ có thể làm mới nhiều dự án cùng một lúc.

Một lần bấm vào một dự án, CTRL + A để chọn mọi thứ và F5 sẽ thực hiện chính xác những gì bạn cần - làm mới mọi thứ.

Tôi sẽ phải kiểm tra điều này khi có cơ hội, nhưng tôi tin rằng đây là cách tôi khắc phục những vấn đề tương tự trong quá khứ.


Tôi nhận thấy rằng câu trả lời này thường xuyên được bình chọn. Tôi muốn chỉ ra rằng câu hỏi đề cập đến một phiên bản cụ thể của Eclipse: 3.4.2. Thực tế không có phương pháp tự động nào để làm mới các tài nguyên không đồng bộ cho đến phiên bản 3.7 Indigo của Eclipse , như được đề cập trong câu trả lời của James Blackburn . Phương pháp được mô tả trong câu trả lời này là phương pháp duy nhất để đạt được điều này trong phiên bản 3.4.2 (và bất kỳ phiên bản nào khác trước 3.7 Indigo).


13
Lưu ý rằng làm mới nhiều dự án đã chọn sẽ không hoạt động nếu bất kỳ dự án nào trong số chúng bị đóng - trước tiên bạn cần bỏ chọn các dự án đã đóng. Ngoài ra, khi không có dự án nào được chọn trong chế độ xem Gói Explorer hoặc Điều hướng, nhấn F5 sẽ làm mới tất cả các dự án đang mở (nhấp ctrl để bỏ chọn, nhấp vào không gian trống không hoạt động).
Tom Clift

71
Không xúc phạm bất cứ ai, nhưng tại sao câu trả lời được chấp nhận cho một câu hỏi về cách làm thế nào để Eclipse thực hiện một cái gì đó tự động mô tả về cách thực hiện thủ công?
Srekel

9
@Srekel Bởi vì tại thời điểm đăng bài, đây là phương pháp duy nhất để làm những gì @DNS muốn làm. Dựa trên câu trả lời gần đây hơn của @James Blackburn, có một vấn đề thực sự được báo cáo và khắc phục tốt sau khi câu hỏi này ban đầu được đăng. Với các phiên bản gần đây hơn của Eclipse, câu trả lời này là không chính xác. Tuy nhiên, câu hỏi đặc biệt trích dẫn Eclipse 3.4.2 - đây là phương pháp giải quyết vấn đề được trình bày trong câu hỏi.
Thomas Owens

21

Vấn đề không đồng bộ hóa là phổ biến trong IDE nhật thực, do đó bạn phải kiểm tra cửa sổ tùy chọn này -> tùy chọn -> Không gian làm việc -> làm mới bằng cách sử dụng các móc nối gốc hoặc bỏ phiếu.


6
Tôi tin rằng đây hiện là câu trả lời chính xác, ít nhất là từ Sao Hỏa Eclipse.
Henno Vermeulen

1
Hộp kiểm này không hoạt động với tôi trên Eclipse 4.5 trên Ubuntu 14.04. Sau khi thay đổi bên ngoài tệp Eclipse không thấy nó cho đến khi tôi mở tệp này trong Eclipse hoặc thực hiện Làm mới. Vì vậy, trình duyệt không thấy cập nhật .csstệp chẳng hạn nếu tôi cập nhật tệp này từ trình chỉnh sửa bên ngoài trong khi chạy ứng dụng máy chủ từ nhật thực. Để khắc phục điều này, tôi đã sử dụng plugin này để làm cho hộp kiểm thực sự hoạt động. Xem câu trả lời này .
Ruslan Stelmachenko

Đây là tùy chọn hoạt động cho phiên bảnNeon.3 Release (4.6.3)
Kimchi Man

Trong Neon.3 trên Mac, tùy chọn nằm trong Tùy chọn> Chung> Không gian làm việc> Làm mới bằng cách sử dụng móc gốc hoặc bỏ phiếu.
jmelvin

5

Có một làm mới toàn cầu - không có gì (hoặc tất cả mọi thứ) được chọn trong gói thám hiểm và nhấn F5 (hoặc nhấp chuột phải vào không gian trống và chọn Làm mới). Tất nhiên, điều này có thể mất nhiều thời gian nếu bạn có các dự án lớn.


Nó không tự động, nhưng rất hiệu quả (+1).
yêu.by.Jesus

5

Eclipse Helios sở hữu một tính năng làm mới tích hợp tại Preferences> General> Workspace. Đó là ở cùng một nơi mà bạn vô hiệu hóa các bản dựng tự động. Chọn làm mới tự động. Một plugin có cùng chức năng là Plugin Filesync của Andrei Loskutov. Địa chỉ trang web cập nhật là: http://andrei.gmxhome.de/eclipse/ . Trong quá trình cài đặt, chọn các plugin 3.5-3.7 của Eclipse> FileSync.


4

Cho rằng Java 7 có một api cho các hook hệ thống tệp, người ta sẽ nghĩ rằng làm mới có thể được xử lý tốt hơn trong Eclipse.

Chỉnh sửa: Trên thực tế, có một plugin sử dụng cơ chế này: https://github.com/psxpaul/EclipseJava7Refresher


Cảm ơn các plugin. Không có nó, Eclipse của tôi trên Ubuntu không thấy các thay đổi bên ngoài của các tệp ngay cả khi "Cửa sổ-> Tùy chọn-> Chung-> Không gian làm việc-> Làm mới bằng cách sử dụng móc gốc hoặc bỏ phiếu" được bật.
Ruslan Stelmachenko

3

Có lẽ bạn nên thêm một yêu cầu tính năng trên trang nhật thực:

https://bugs.eclipse.org/bugs/

Tôi nghĩ rằng sẽ là một ý tưởng tuyệt vời để thêm một sở thích để tự động làm mới các tài nguyên ngày.


3

Một sự làm mới toàn cầu thực sự là thiếu trong Eclipse. Quy trình trên với việc chọn tất cả các dự án và sau đó chạy refresh (ví dụ F5) không hoạt động nếu bạn có các dự án đã đóng trong lựa chọn của mình. Điều này có nghĩa là, nếu bạn có 1/2 trong số nhiều dự án của bạn bị đóng như tôi làm, bạn sẽ thấy mình tự bấm Ctrl qua hàng tá dự án. Điều này khá đau đớn. Tôi ước Eclipse sẽ đơn giản bỏ qua các dự án đã đóng.


3

Làm mới toàn cầu thực sự tồn tại trong Eclipse đơn giản mà không cần bất kỳ plugin nào và không chọn mọi dự án trong không gian làm việc của bạn.

Về cơ bản, bạn cần bỏ chọn mọi thứ trong trình thám hiểm dự án của bạn và nhấn F5. Để làm điều đó Ctrl + nhấp vào tài nguyên đã chọn trong trình thám hiểm dự án và nhấn F5.


2

Có, Làm mới trên Truy cập đã quá hạn ... những câu trả lời cho câu hỏi này và các câu hỏi tương tự thường được đề xuất cho phép tự động làm mới toàn cầu, có thể mất một thời gian cho các dự án từ xa lớn. Trong thực tế, có những người sẽ nói rằng Làm mới trên Access phải là hành vi mặc định ban đầu (<3.x) ...


2

Tôi đã quản lý để giải quyết vấn đề này bằng cách tạo một cấu hình chạy "công cụ bên ngoài" mới thực thi một tệp bó trống. Trong cấu hình chạy, bạn có thể yêu cầu nó làm mới không gian làm việc khi hoàn thành. Sau đó, tôi đã tạo một macro bằng cách sử dụng Macro thực tế mà 1) thực thi cấu hình chạy công cụ bên ngoài cuối cùng (làm mới không gian làm việc), sau đó 2) thực hiện cấu hình chạy gỡ lỗi cuối cùng (chạy ứng dụng của tôi). Nếu bạn bỏ chọn "Phân bổ bảng điều khiển" thì mục nhập công cụ bên ngoài đã hoàn thành sẽ không hiển thị trong cửa sổ gỡ lỗi.


1

Ngay cả khi các giải pháp được đề xuất bởi người khác thì thực sự chính xác, bạn vẫn có một plugin " Làm mới tất cả " cho Eclipse. Chỉ cần thêm trang Cập nhật vào danh sách các trang cập nhật Eclipse của bạn để cài đặt nó trong IDE của bạn.


2
Tôi nhận được 404 khi tôi nhấp vào các liên kết này. Dự án vẫn còn sống?
Eran Harel

1
Thật vậy, dự án này dường như đã chết :(
Romain Linsolas

1

Để bắt đầu, có một tùy chọn để tự động làm mới các tập tin trong

Window -> Preferences -> General -> Startup and Shutdown -> Refresh workspace on startup

Nhấp vào nó để có một khởi đầu "mới" trong nhật thực. :)

Phiên bản: Eclipse 4.12

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.