JavaRush /Java Blog /Random-TL /IntelliJ IDEA 2019.1: ano ang bago sa aming paboritong ID...

IntelliJ IDEA 2019.1: ano ang bago sa aming paboritong IDE?

Nai-publish sa grupo
Kamakailan lamang, ang IntelliJ IDEA, isang pinagsama-samang kapaligiran sa pag-unlad na ginagamit ng mga propesyonal (mga tagalikha at nagtapos ng JavaRush kasama nila) at mga programmer sa hinaharap (lalo na, halos lahat ng mga mag-aaral ng JavaRush), ay na-update. Sa artikulong ito, maikling ilalarawan namin ang mga inobasyon sa IDEA na nakakaapekto sa mga developer ng Java.

Suporta para sa Java 12 preview function - Switch Expressions ( JEP 325 ) at Switch duplicate detection

Ang ikalabindalawang bersyon ng wikang Java ay inilabas noong Marso, at isa sa mga kawili-wiling pagbabago dito ay isang bagong anyo ng mga expression sa operator switch. Ang operator na ito sa klasikong anyo nito ay may medyo masalimuot na syntax, na nagdudulot ng patuloy na mga error, kahirapan sa pag-debug at karapat-dapat na hindi pagkagusto mula sa mga developer. Sa JDK 12 switchay nagpasya silang i-rehabilitate ito, at ang syntax nito ay pinasimple. Gayunpaman, sa ilang kadahilanang hindi alam ng mga hindi pa nakakaalam, ang bagong feature ay isinama lamang sa Java 12 sa Preview form (nangangahulugan ito na dapat itong manual na "konektado" kahit na pagkatapos i-install ang JDK 12). Natutunan ng na-update na IDEA na ganap na gumana sa lahat ng uri ng operator switch. Natutunan din ng IDE na tuklasin ang mga duplicate na sangay switchat pagsamahin ang mga ito sa pamamagitan ng mabilisang pag-aayos.

Para sa mga detalye sa kung ano ang bago sa JDK12, tingnan ang artikulong Java 12 ay narito na: Ano ang bago?

Refactoring: pagpapalawak ng extract variable function

Maaaring muling ayusin ng IntelliJ IDEA ang mga string literal at executable code. Kaya, kung kailangan mong baguhin ang isang variable, piliin lamang ito at piliin ang Extract variable na opsyon at pagkatapos ay papalitan ito sa buong code. Ngayon ang pag-andar ay magpapanatili ng mga semantika ng mga expression na binago nang mas mahusay. Ang framework ay makakapag-extract ng variable kahit na mula sa isang field initializer, at posible rin para sa na-extract na variable na awtomatikong i-convert ang isang ternary operator sa isang "if" kung ang kundisyon ay mahalaga (ang isang kondisyon ay itinuturing na mahalaga kung ito ay may null check o isang "instanceof" check).

Mas tumpak na pag-highlight ng mga kundisyon sa ternary expression

Nagbibigay ang IntelliJ IDEA 2019.1 ng mas tumpak na pag-highlight ng mga kaduda-dudang lugar sa mga ternary expression. Ngayon lang ang kundisyon kung saan nilabag ang halaga ang iha-highlight null, samantalang dati ay naka-highlight ang buong ternary expression, kahit na ang paglabag ay nasa isang sangay lang. Salamat sa bagong feature na ito, mas tumpak na ngayon ang pag-highlight sa kaso ng switch-expressions.

Pinahusay na pagsusuri ng mga pagpapatakbo ng matematika

Maaaring subaybayan ng pagsusuri ng daloy ng data ang mga resulta ng mga pagpapatakbo ng matematika at ginagamit ang impormasyong ito upang alertuhan ang developer sa mga kundisyong palaging tama o mali. Pinahusay ng mga may-akda ng IDEA ang pagsusuri ng maraming operasyong matematikal, kabilang ang pagpaparami, natitira, at mga pagpapatakbong bitwise.

Pagpapabuti sa @Contract annotation

Ang @Contract annotation ay ginagamit upang tukuyin ang kontrata na dapat sundin ng isang paraan. Pinapayagan nito ang IDE na makahanap ng mga problema sa mga pamamaraan na tumatawag sa mga annotated na pamamaraan. Ang @Contract ay may dalawang katangian - valueat pure. Ang attribute valueay naglalaman ng mga sugnay na naglalarawan sa sanhi-at-epekto na relasyon sa pagitan ng mga argumento at ang return value. Ang katangian ng (“purong”) pureay inilaan para sa mga pamamaraan na hindi nagbabago sa estado ng kanilang mga bagay, ngunit nagbabalik lamang ng bagong halaga. Kung hindi ginagamit ang return value nito, ang pag-alis sa tawag nito ay hindi makakaapekto sa estado ng programa o makakapagpabago ng semantics maliban kung ang method call ay naghagis ng exception (ang exception ay hindi itinuturing na side effect). Kaya, pinahusay ng koponan ng IntelliJ IDEA 2019.1 ang suporta para sa mga anotasyon ng @Contract. Ngayon ang kapaligiran ng pag-unlad ay maaaring awtomatikong matukoy ang "kadalisayan" ng mga konstruktor mula sa mga mapagkukunan.

Paglukso mula sa isang Java stack trace patungo sa kaukulang posisyon sa isang string

Kung naabot mo na ang level 9 ng Java Syntax quest sa JavaRush, narinig mo na kung ano ang stack trace . Ang kakanyahan nito sa maikling salita ay ang pagpapaandar na tinatawag na huli ay dapat makumpleto muna. Ngayon, kapag nag-click ka sa isang Java stack trace, susubukan ng IDE na tukuyin ang eksaktong lokasyon sa linya kung saan mo gustong ilipat ang cursor. Dati, dadalhin ka lang nito sa unang column ng kaukulang row.

Mga Pagbabago ng JVM Debugger

  • May bagong hakbang na Step Out of the Block na nagbibigay-daan sa iyong lumabas sa kasalukuyang block habang nagde-debug ng proyekto gamit ang JVM debugger.
  • Kung mas gusto mo ang mouse kapag nagde-debug, ang iyong trabaho ay magiging mas maginhawa: maaari mo na ngayong i-trigger ang paglipat sa pagkilos ng cursor sa pamamagitan lamang ng pag-click sa numero ng linya sa debugging mode.
  • Mayroon na ngayong suporta para sa synchronized, assertat switchdebugger expression evaluator operator.
Sa katunayan, marami pang inobasyon sa IntelliJ IDEA 2019.1. Maaari mong basahin ang tungkol sa mga ito sa website ng JetBrains , ang mga may-akda ng IDE na ito (ngunit sa Ingles lamang).
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION