سؤال

يتعامل Eclipse (3.4.2 مع Pydev) مع الموارد خارج المزامنة (الملفات التي تم تحريرها خارج IDE) بشكل مختلف عن IDEs الأخرى التي استخدمتها ، حيث تعتبر الموارد مع المحررين المفتوحة فقط خارج المزامنة . في Eclipse ، يمكن لأي مورد الخروج من المزامنة.

هذا يعني أنه عندما أقوم بإجراء بحث بعد تغيير أي ملف خارج Eclipse ، أحصل على مربع حوار خطأ يخبرني أن الملفات غير متزامنة ، حتى لو لم يكن لديهم محررين مفتوحين. بقدر ما أستطيع أن أقول ، لا يوجد أمر عالمي لتحديث ، لذلك أنا مضطر إلى قراءة أسماء المشروع (لدي العديد من المشاريع) في مربع حوار الخطأ ، وقم بزر الماوس الأيمن فوق + تحديث لكل منها.

لقد راجعت Refresh Automatically اضبط Settings > General > Workspace, ، لكن هذا ليس له أي تأثير. هل هناك أي طريقة للحصول على Eclipse لتحميل الموارد غير النشطة دائمًا من القرص؟

هل كانت مفيدة؟

المحلول

سيتم إصلاح هذه المشكلة في Eclipse 3.7 (النيلي). في حين "تحديث تلقائيا"في النهاية يعيد الموارد إلى المزامنة ، يوجد خطاف التحديث فقط لنظام التشغيل Windows ، لذلك على Linux و Mac OS ، يتعين عليه استطلاع نظام الملفات بشكل دوري.

من 3.7 هناك تفضيل جديد Settings > General > Workspace > Refresh On Access (ويعرف أيضا باسم تحديث خفيف الوزن). يؤدي هذا التفضيل إلى تحديث Eclipse تلقائيًا الموارد عندما يكتشف أنها "خارج المزامنة". عند فتح الملفات أو القراءة أو البحث ، ستمنع حدوث أخطاء خارج المزامنة.

أنظر أيضا: https://bugs.eclipse.org/303517

نصائح أخرى

أعتقد أنه إذا قمت بالنقر فوق عقدة المشروع في مستكشف المشروع واضغط على F5 أو النقر بزر الماوس الأيمن وحدد التحديث ، فسيتم تحديث جميع الموارد لهذا المشروع. أيضًا ، إذا قمت بنقر على مشاريع متعددة ، فيجب أن تكون قادرًا على تحديث مشاريع متعددة في نفس الوقت.

نقرة واحدة على مشروع ، و Ctrl+A لتحديد كل شيء ، ويجب على F5 أن تفعل بالضبط ما تحتاجه - تحديث كل شيء.

سأضطر إلى اختبار هذا عندما أتيحت لي الفرصة ، لكنني أعتقد أن هذه هي الطريقة التي تغلبت بها على مشاكل مماثلة في الماضي.


لقد لاحظت أن هذه الإجابة بشكل روتيني تصوت. أود أن أشير إلى أن السؤال يشير إلى إصدار محدد من Eclipse: 3.4.2. في الواقع لم يكن هناك طريقة تلقائية لتحديث موارد المزامنة حتى الإصدار 3.7 النيلي من Eclipse, ، كما ذكر في إجابة جيمس بلاكبيرن. الطريقة الموضحة في هذه الإجابة هي الطريقة الوحيدة لتحقيق ذلك في الإصدار 3.4.2 (وأي نسخة أخرى قبل 3.7 Indigo).

يعد مشكلة التزامن أمرًا شائعًا في Eclipse IDE ، لذا يتعين عليك التحقق من هذا الخيار Windows -> تفضيل -> مساحة العمل -> تحديث باستخدام الخطافات الأصلية أو الاقتراع.

لا يوجد تحديث عالمي - لا يوجد شيء (أو كل شيء) محدد في مستكشف الحزمة واضغط على F5 (أو انقر بزر الماوس الأيمن على مساحة فارغة وحدد التحديث). بالطبع ، قد يستغرق هذا وقتًا طويلاً إذا كان لديك مشاريع كبيرة.

تمتلك Eclipse Helios ميزة تحديث مدمجة في تفضيلات> مساحة عمل. إنه في نفس المكان الذي تقوم فيه بتعطيل التصميم التلقائي. حدد تحديث تلقائيًا. البرنامج المساعد الذي يحتوي على نفس الوظيفة هو البرنامج المساعد لـ Andrei Loskutov's Filesync. عنوان موقع التحديث هو: http://andrei.gmxhome.de/eclipse/. أثناء التثبيت ، حدد مكونات Eclipse 3.5-3.7> Filesync.

بالنظر إلى أن Java 7 لديها واجهة برمجة تطبيقات لخطافات نظام الملفات ، فقد يعتقد المرء أنه يمكن التعامل مع التحديث بشكل أفضل في Eclipse.

تحرير: في الواقع ، هناك مكون إضافي يستخدم هذه الآلية: https://github.com/psxpaul/eclipsejava7refresher

ربما يجب عليك إضافة طلب ميزة على موقع Eclipse:

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

أعتقد أنه سيكون من الرائع إضافة تفضيل لتحديث موارد التاريخ تلقائيًا.

التحديث العالمي مفقود حقًا في Eclipse. الإجراء أعلاه مع اختيار جميع المشاريع ثم تشغيل التحديث (على سبيل المثال F5) لا يعمل إذا كان لديك مشاريع مغلقة في اختيارك. هذا يعني ، إذا كان لديك 1/2 من مشاريعك العديدة مغلقة كما أفعل ، فستجد نفسك يدويًا تنقر فوق العشرات من المشاريع. هذا مؤلم للغاية. أتمنى أن يتجاهل Eclipse ببساطة المشاريع المغلقة.

يوجد تحديث عالمي بالفعل في Eclipse العادي دون أي مكونات إضافية ودون اختيار كل مشروع في مساحة العمل الخاصة بك.

تحتاج بشكل أساسي إلى إلغاء تحديد كل شيء في Explorer الخاص بك وضرب F5. للقيام بذلك Ctrl+انقر فوق المورد المحدد في Explorer Project واضغط على F5.

نعم ، إن التحديث عند الوصول متأخر ... تلك الإجابات على هذا والاستفسارات المماثلة عادة ما تشير إلى تمكين الحفر التلقائي العالمي ، والتي قد تستغرق عصر المشاريع البعيدة. في الواقع ، هناك أولئك الذين يقولون إن التحديث على الوصول كان ينبغي أن يكون السلوك الافتراضي الأصلي (<3.x) ...

تمكنت من حل هذا من خلال إنشاء "أداة خارجية" جديدة قم بتنفيذ ملف دفعة فارغة. في تكوين التشغيل ، يمكنك تحديث مساحة العمل عند اكتماله. ثم قمت بإنشاء ماكرو باستخدام ماكرو عملياً 1) ينفذ آخر أداة تشغيل الأداة الخارجية (تحديث مساحة العمل) ، ثم 2) تنفيذ آخر تصحيح تصحيح (تشغيل تطبيقي). إذا قمت بإلغاء تحديد "تخصيص وحدة التحكم" ، فلن يظهر إدخال الأداة الخارجية المكتملة في نافذة التصحيح.

Even if the solutions proposed by others perso are indeed correct, you have a "Refresh All" plugin for Eclipse. Simply add the Update page to your Eclipse list of update sites to install it in your IDE.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top