سؤال
يبدو أن وضع java غير مستمر بدلاً من المسافة البادئة بعد إعلان الطريقة.
وهذا أعني أنني أتوقع أن أرى هذا:
class GoodExample {
public void method() {
allNicelyIndented();
noProblemsHere();
}
}
ولكن بدلاً من ذلك ، احصل على هذا:
class CrazyIndenting {
public void method() { // ((inclass 134) (topmost-intro 326))
whyIsThisUnindented(); // ((defun-block-intro 379))
itsMessingWithMyHead(); // ((statement 454))
}
}
M-x c-set-style RET java
وثم C-x h C-M-\
يؤكد أنه يستخدم نمط Java للمخزن المؤقت بأكمله.
باستخدام عروض CC ميزات تفاعلية, C-c C-s
يعطي الرموز التي وضعتها في التعليقات بعد الكود المنسق بشكل خاطئ ، و C-c C-o
يقترح القيم الافتراضية التي تبدو معقولة. (0 ، + و 0 في ترتيب بيان تنازلي)
عند النظر إلى بلدي. EMACs ، لا يمكنني رؤية أي شيء قد يكون العبث مع وضع CC ، لذلك أنا عالق بعض الشيء لتوجيهات للتحقيق بعد ذلك. لا يقل عن مستند للبيان أقل من المسافة البادئة لإعلان الطريقة (2 "المساحات" بدلاً من 4) ، لذلك ربما يكون هناك بعض الارتباك في علامة التبويب/الفضاء؟
الإصدارات: Emacs 22.2.1 ، JDE 2.3.5.1 و CC-Mode 5.31.5.
المحلول
على الرغم من أنني لست متأكدًا مما يسبب مشاكلك مع JDEE ، إلا أنه يمكنني أن أقترح عليك تجربتك malabar-mode في حين أن. إنه وضع Java الوحيد في Emacs الذي يدمج الأشياء الحديثة (مثل التكامل مع Maven و Groovy) وهو تحت التطوير النشط ...
بخلاف هذا-أنا متأكد تمامًا من أن المسافة البادئة Java الأساسية تعمل بشكل جيد مع JDEE (وحتى مع وضع Java الأقدم) ، لذلك ربما تكون المشكلة ناتجة عن التكوين (تكوين وضع CC على وجه الخصوص على ما أعتقد).