it-swarm.dev

ما هو مستوى لغة المشروع في IntelliJ IDEA؟

أنا أستخدم Java 7 SDK و IntelliJ IDEA IDE.

Java version "1.7.0_11"
Java(TM) SE Runtime Environment (build 1.7.0_11-b21)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

ما زلت غير قادر على استخدام ميزات Java 7. بعد قليل من googling ، يمكنني استخدام جميع الميزات بعد ضبط مستوى لغة المشروع على 7(Diamond, ARM, multicatch etc). ما هذا بالضبط؟ إذا كان هذا له علاقة بجملة بناء على JDK قيد الاستخدام ، فما هو level 8(Lambda, annotations etc)؟ لم يتم إصدار Java 8 بعد. ومن المتوقع جافا 8 في مارس 2014 وفقا ليكي. شخص ما يرجى توضيح مفهوم مستوى اللغة هذا.

51
Aniket Thakur

يجب أن يدعم إعداد Language level الذي يتميز بمساعدة التعليمات البرمجية في المحرر. على سبيل المثال ، إذا كنت تستخدم الإصدار 1.7 من JDK ولكنك تريد أن يكون رمزك متوافقًا مع الإصدار 1.6 من JDK ، فيمكنك ضبط مستوى اللغة على مستوى دعم JDK الفعلي لديك (6.0 في حالة الإصدار 1.6 من JDK) واقتراح إعادة البناء/بناء الجملة فقط معتمدة على 1.6 وأقل. اعتمادًا على برنامج التحويل البرمجي الخاص بك ، قد يوفر أيضًا خيارات برنامج التحويل البرمجي لإزالة دعم عناصر بناء الجملة الأحدث.

الإصدار 8.0 (الذي ، حسب تخمينك يتوافق مع Java 8) ، متاح للأشخاص الذين يرغبون في تجربة واحدة من لقطات Java 8 المتاحة. نظرًا لعدم إصدار Java 8 ، فقد يتغير مستوى اللغة 8.0 جيدًا قبل الإصدار.

73
Joachim Isaksson

وفقًا للوثائق الموجودة في القسم استكشاف إعدادات المشروع العامة عند IntelliJ Wiki ، يؤثر مستوى لغة المشروع على intellisense الذي توفره IDE.

كما تملي سلوك برنامج التحويل البرمجي الذي تستخدمه IntelliJ عندما يقوم بتجميع كود Java الخاص بك أثناء تطويرك.

يخبر هذا الإعداد جميع مرافق المحول البرمجي التي ستكون متاحة للمشروع. على سبيل المثال سيؤدي تعيين مستوى اللغة إلى JDK 5 إلى السماح لـ IntelliJ بالتعرف على الكلمات الرئيسية مثل التعداد الموجودة في التعليمات البرمجية المصدر.

4
Prahalad Deshpande

إذا نظرت إلى خيارات الأمر javac Java compiler ، سترى أن خيارات -source و -target تسمح لك بالتجميع مقابل إصدارات بديلة من Java. لست متأكدًا من الخيار الذي يتوافق مع إعداد مستوى اللغة في IntelliJ (من المحتمل -source) ، لكنه يخبر IntelliJ أساسًا باستخدام Java SDK المتوفر (في حقل Project SDK) في إصدار لغة Java المحدد بدلاً من آخر إصدار تم توفيره من قِبل SDK.

لذا على الرغم من تثبيت Java 7 ، يمكنك ضبط مستوى اللغة على 6.0 ، وسيقوم IntelliJ بترجمة التعليمات البرمجية الخاصة بك وفقًا لمواصفات Java 6 بدلاً من مواصفات Java 7. يتضمن ذلك جميع الاقتراحات في الوقت الفعلي والتحقق من الكود أثناء الكتابة.

من المحتمل وجود خيار Java 8 بسبب حقيقة أن إصدارات بيتا من Java 8 متاحة للاختبار.

لم أجرب أبدًا ما قد يحدث إذا قمت بتعيين مستوى لغة على شيء أعلى من إصدار JDK.

3
ajp15243