{"id":33989,"date":"2020-01-02T17:52:03","date_gmt":"2020-01-02T08:52:03","guid":{"rendered":"https:\/\/blog.jetbrains.com\/kr\/?p=490"},"modified":"2020-01-02T17:52:03","modified_gmt":"2020-01-02T08:52:03","slug":"resharper-ultimate-2019-3","status":"publish","type":"post","link":"https:\/\/blog.jetbrains.com\/ko\/2020\/01\/02\/resharper-ultimate-2019-3\/","title":{"rendered":"ReSharper Ultimate 2019.3 \uc774 \ucd9c\uc2dc\ub418\uc5c8\uc2b5\ub2c8\ub2e4!"},"content":{"rendered":"\uc548\ub155\ud558\uc138\uc694!\r\n\r\n2019\ub144\uc758 \ub9c8\uc9c0\ub9c9 \ub9b4\ub9ac\uc2a4\ub97c \ubc1c\ud45c\ud569\ub2c8\ub2e4! ReSharper Ultimate 2019.3\uc744 \ub530\ub73b\ud558\uac8c \ub9de\uc774\ud574 \uc8fc\uc138\uc694!\r\n\r\n\r\n\r\n\uba3c\uc800, \uac00\uc7a5 \uc911\uc694\ud55c \ubcc0\uacbd \uc0ac\ud56d\uc744 \uac04\ub7b5\ud558\uac8c \uc0b4\ud3b4 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.\r\n\r\n\t\uc0c8\ub85c\uc6b4 Localization Manager(\ub85c\uceec\ub77c\uc774\uc81c\uc774\uc158 \uad00\ub9ac\uc790)\ub97c \uc0ac\uc6a9\ud558\uba74 \uc194\ub8e8\uc158\uc5d0\uc11c \uc218\ub9ce\uc740 .resx \ud30c\uc77c\ub85c \uc791\uc5c5\uc744 \ub354 \ud6a8\uc728\uc801\uc73c\ub85c \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. .resx \ud30c\uc77c\uc5d0 \uc788\ub294 \ubaa8\ub4e0 \uac83\uc744 \ub2e8\uc77c \uadf8\ub9ac\ub4dc\ub85c \ud45c\uc2dc\ud558\ubbc0\ub85c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ub610\ub294 \uc6f9\uc0ac\uc774\ud2b8 \ub85c\uceec\ub77c\uc774\uc81c\uc774\uc158\uc758 \ud604\uc7ac \uc0c1\ud0dc\ub97c \uad00\ucc30\ud558\uace0 \ubaa8\ub4e0 \ubb38\ud654\uad8c\uc5d0\uc11c \ub204\ub77d\ub41c \ub9ac\uc18c\uc2a4 \uac12\uc744 \ube60\ub974\uac8c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\r\n\r\n\tC# 8 \uc9c0\uc6d0\uc774 \ub354\uc6b1 \uac15\ud654\ub418\uc5b4 notnull \uc81c\uc57d \uc870\uac74\uc5d0 \ub300\ud55c \uc9c0\uc6d0, \ub300\uc0c1 \uc720\ud615\uc758 switch \ud45c\ud604\uc2dd, \uae30\ubcf8 \uc778\ud130\ud398\uc774\uc2a4 \uba54\uc18c\ub4dc\uc5d0 \ub300\ud55c \uc870\uae30 \uc9c0\uc6d0, \uc5ec\ub7ec \uac1c\uc758 \uc0c8\ub85c\uc6b4 \uac80\uc0ac \ubc0f \ube60\ub978 \uc218\uc815\uc774 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\t\ucf54\ub4dc \uc0dd\uc131\uc740 C# 8\uc744 \uc790\uc138\ud788 \uc774\ud574\ud558\uace0 \uc0ac\uc6a9\uc790\uc758 \ud559\uc2b5\uc744 \ub3c4\uc640 \uc90d\ub2c8\ub2e4.\r\n\r\n\r\n\r\n\tFind dependent code\uac00 \uc774\uc81c NuGet \ucc38\uc870\uc5d0\uc11c \uc791\ub3d9\ud558\uba70 \ud504\ub85c\uc81d\ud2b8\uac00 \uc544\ub2cc \uc804\uccb4 \uc194\ub8e8\uc158\uc744 \ub300\uc0c1\uc73c\ub85c \uc2e4\ud589\ub429\ub2c8\ub2e4.\r\n\r\n\uc774\ubc88 \ub9b4\ub9ac\uc2a4\uc758 \uc5c5\ub370\uc774\ud2b8 \uc0ac\ud56d\uc774 \uc774\uac83\ub9cc \uc788\ub294 \uac83\uc740 \uc544\ub2d9\ub2c8\ub2e4. \ud6e8\uc52c \ub354 \ub9ce\uc740 \uc0ac\ud56d\uc774 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\t\uc774\uc81c C# \uc774\ub984 \uc9c0\uc815 \uc124\uc815\uc5d0\uc11c EditorConfig\uc5d0\uc11c \uc77d\uae30 \ubc0f EditorConfig\ub85c \ub0b4\ubcf4\ub0b4\uae30\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4.\r\n\t\ubaa8\ub4e0 var \uc0ac\uc6a9 \uc704\uce58, \ub78c\ub2e4 \ub9e4\uac1c \ubcc0\uc218 \ub4f1\uc5d0 \ub300\ud574 Type Name(\uc720\ud615 \uc774\ub984) \ud78c\ud2b8\uac00 \uc81c\uacf5\ub429\ub2c8\ub2e4.\r\n\r\n\r\n\r\n\t\uc720\ub2db \ud14c\uc2a4\ud2b8 \ub3c4\uad6c \ucc3d\uc5d0 \uc0c8\ub85c\uc6b4 \uadf8\ub8f9\ud654 \ubaa8\ub4dc \ubc0f \ud544\ud130\uac00 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\t\ub354 \ub9ce\uc740 \uc0c9\uc0c1 \uc124\uc815\uc774 \ucd94\uac00\ub418\uc5b4 \ucf54\ub4dc \uac15\uc870 \ud45c\uc2dc\uac00 \ub354 \uc815\uad50\ud574\uc84c\uc2b5\ub2c8\ub2e4.\r\n\tWindows\uc5d0 \ub354\ud574\uc11c Linux \ubc0f macOS\uc5d0\uc11c\ub3c4 ReSharper \uba85\ub839\uc904 \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\uc774\ub294 \uc9c0\ub09c 4\uac1c\uc6d4 \ub3d9\uc548 \uc800\ud76c \ud300\uc774 \ubc14\uc058\uac8c \uc791\uc5c5\ud588\ub358 \ub0b4\uc6a9\uc758 \uc77c\ubd80\uc5d0 \ubd88\uacfc\ud569\ub2c8\ub2e4. ReSharper 2019.3\uc758 \uc0c8\ub85c\uc6b4 \uae30\ub2a5 \ud398\uc774\uc9c0\ub97c \ubc29\ubb38\ud558\uc5ec \ubaa8\ub4e0 \ubcc0\uacbd \uc0ac\ud56d\uc744 \uc790\uc138\ud788 \uc54c\uc544 \ubcf4\uc138\uc694.\r\n\r\nReSharper Ultimate 2019.3 \ub2e4\uc6b4\ub85c\ub4dc\r\n\r\nReSharper C++ 2019.3\r\nReSharper C++ 2019.3\uc5d0\uc11c\ub294 \uc0ac\uc6a9 \uc704\uce58 \uac80\uc0c9\uc758 \ucee8\uc149 \uc9c0\uc6d0, Rename \ub9ac\ud329\ud1a0\ub9c1, \ucf54\ub4dc \uac80\uc0ac \ub4f1\uc744 \ud1b5\ud574 C++20\uc744 \uc27d\uac8c \ucc44\ud0dd\ud560 \uc218 \uc788\ub3c4\ub85d \ub3c4\uc640 \uc90d\ub2c8\ub2e4. \uc0c8\ub85c\uc6b4 \uc11c\uc2dd \uc9c0\uc815 \uc635\uc158\uc774 \ucf54\ub4dc \uc2a4\ud0c0\uc77c\uc744 \ub354\uc6b1 \uc815\uad50\ud558\uac8c \uc870\uc815\ud558\ub294 \ub3d9\uc548 \uc5d0\ub514\ud130\uc5d0\uc11c \uc0c8\ub85c\uc6b4 \uc720\ud615 \ud78c\ud2b8\ub97c \uc0ac\uc6a9\ud574 \ucf54\ub4dc\ub97c \ub354 \uc27d\uac8c \uc77d\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c, \ud0d0\uc0c9, \ub77c\uc774\ube0c \ud15c\ud50c\ub9bf \ubc0f Clang-Tidy \ud1b5\ud569\uc774 \uac1c\uc120\ub418\uc5c8\uc2b5\ub2c8\ub2e4. 2019.3 \ubc84\uc804\uc740 Unreal Engine 4(UE4) \ud504\ub85c\uc81d\ud2b8 \uc791\uc5c5\uc744 \uc218\ud589\ud558\ub294 \uac8c\uc784 \uac1c\ubc1c\uc790\ub97c \uc704\ud574 UE4\uc6a9 \ucf54\ub4dc\ub97c \uc0dd\uc131\ud558\uace0 UE4\uc758 \uc2a4\ub9c8\ud2b8 \ud3ec\uc778\ud130\ub97c \uc9c0\uc6d0\ud558\ub294 \ub354 \ub9ce\uc740 \ud15c\ud50c\ub9bf\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.\r\n\r\n\r\ndotTrace 2019.3\r\ndotTrace 2019.3\uc5d0 \uc138 \uac1c\uc758 \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uc774 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\r\n\tLinux \ubc0f macOS\uc6a9 dotTrace \uba85\ub839\uc904 \ub3c4\uad6c\uac00 \ub9c8\uce68\ub0b4 \ucd9c\uc2dc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\t\uc774\uc81c Rider\uc758 dotTrace \ubc0f \ub3c5\ub9bd \uc2e4\ud589\ud615 dotTrace \uba85\ub839\uc904 \ud504\ub85c\ud30c\uc77c\ub7ec \ubaa8\ub450 Linux \ubc0f macOS\uc5d0\uc11c .NET Core \ud504\ub85c\uc81d\ud2b8\uc5d0 \ub300\ud55c \ud504\ub85c\ud30c\uc77c\ub9c1\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \ub2e8, .NET Core 3.1\uc744 \ub300\uc0c1\uc73c\ub85c \ud558\ub294 \ud504\ub85c\uc81d\ud2b8\ub9cc \uc644\ubcbd\ud558\uac8c \uc9c0\uc6d0\ub429\ub2c8\ub2e4. .NET Core\uc758 \uc81c\ud55c \uc0ac\ud56d\uc73c\ub85c \uc778\ud558\uc5ec .NET Core 3.0 \uc774\uc804 \ubc84\uc804\uc744 \ub300\uc0c1\uc73c\ub85c \ud558\ub294 \ud504\ub85c\uc81d\ud2b8\ub97c \ud504\ub85c\ud30c\uc77c\ub9c1\ud560 \ub54c \ubb38\uc81c\uac00 \uc788\uc744 \uc218 \uc788\uc73c\uba70, \uacbd\uc6b0\uc5d0 \ub530\ub77c \ud504\ub85c\ud30c\uc77c\ub9c1 \uc911\uc778 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc911\ub2e8\ub418\uac70\ub098 \ucda9\ub3cc\ud558\ub294 \uc77c\uc774 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\t\ud50c\ub808\uc784 \uadf8\ub798\ud504 \ub355\ubd84\uc5d0 Timeline Viewer(\ud0c0\uc784\ub77c\uc778 \ubdf0\uc5b4)\uc5d0\uc11c \ud638\ucd9c \ud2b8\ub9ac\ub97c \ub354 \uc27d\uac8c \ubd84\uc11d\ud560 \uc218 \uc788\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\r\ndotMemory 2019.3\r\ndotMemory 2019.3\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc774 \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uc774 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\r\n\t\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc2a4\uc2a4\ub85c \ud504\ub85c\ud30c\uc77c\ub9c1 \uc138\uc158\uc744 \ucd08\uae30\ud654 \ubc0f \uc2dc\uc791\ud560 \uc218 \uc788\uac8c \ud558\ub294 \uc0c8\ub85c\uc6b4 \uc140\ud504 \ud504\ub85c\ud30c\uc77c\ub9c1 API : \uc140\ud504 \ud504\ub85c\ud30c\uc77c\ub9c1 API\ub294 NuGet \ud328\ud0a4\uc9c0\ub85c \ubc30\ud3ec\ub429\ub2c8\ub2e4.\r\n\t.json \ud30c\uc77c\ub85c \uc778\uc2a4\ud134\uc2a4 \uc138\ubd80 \uc815\ubcf4\ub97c \ub0b4\ubcf4\ub0b4\ub294 \uc635\uc158(.bson, .hex \ubc0f .txt\ub3c4 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4).\r\n\t\uac1d\uccb4 \uc778\uc2a4\ud134\uc2a4\uc758 \uac00\uc0c1 \uba54\ubaa8\ub9ac \uc8fc\uc18c\ub97c \ubcfc \uc218 \uc788\ub294 \uae30\ub2a5.\r\n\r\ndotCover 2019.3\r\ndotCover 2019.3\uc5d0\uc11c\ub294 Unity \ud504\ub85c\uc81d\ud2b8 \ubc0f Microsoft Fakes\ub97c \uc0ac\uc6a9\ud55c \ud504\ub85c\uc81d\ud2b8\uac00 \uc9c0\uc6d0\ub429\ub2c8\ub2e4. \ub610\ud55c, dotCover\ub294 \uc774\uc81c Rider \ubc0f Visual Studio\uc5d0\uc11c, \uadf8\ub9ac\uace0 dotCover \ucf58\uc194 \ub3c4\uad6c\ub85c \uc0dd\uc131\ub41c \ubcf4\uace0\uc11c\uc5d0\uc11c \uc911\ucca9\ub41c \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ubcc4\ub85c \ucee4\ubc84\ub9ac\uc9c0 \uacb0\uacfc\ub97c \uadf8\ub8f9\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\ndotPeek 2019.3\r\ndotPeek 2019.3\uc5d0\uc11c\ub294 \uc18c\uc2a4 \uc2ec\ubcfc \ud328\ud0a4\uc9c0(.snupkg)\uac00 \uc788\ub294 NuGet \ud328\ud0a4\uc9c0\uc758 \uc678\ubd80 \uc18c\uc2a4\ub85c \uc774\ub3d9\ud560 \uc218 \uc788\uace0, \ub2e4\uc74c C# 7 \uc5b8\uc5b4 \uae30\ub2a5\uc758 \ub514\ucef4\ud30c\uc77c\uc744 \ucd94\uac00\ub85c \uc9c0\uc6d0\ud569\ub2c8\ub2e4.\r\n\r\n\t\ud29c\ud50c(Tuples)\r\n\t\uad6c\uc870 \ubd84\ud574\r\n\t\uc0ad\uc81c\r\n\r\n\r\nReSharper Ultimate 2019.3 \ub2e4\uc6b4\ub85c\ub4dc\r\n&nbsp;\r\n\r\n\ubcf8\ubb38\uc740 Alexander Kurakind\uc758 ReSharper Ultimate 2019.3 Release Is Out!\ub97c \ubc88\uc5ed\ud55c \uae00\uc785\ub2c8\ub2e4.","protected":false},"excerpt":{"rendered":"\uc548\ub155\ud558\uc138\uc694!2019\ub144\uc758 \ub9c8\uc9c0\ub9c9 \ub9b4\ub9ac\uc2a4\ub97c \ubc1c\ud45c\ud569\ub2c8\ub2e4! ReSharper Ultimate 2019.3\uc744 \ub530\ub73b\ud558\uac8c \ub9de\uc774\ud574 \uc8fc\uc138\uc694!\uba3c\uc800, \uac00\uc7a5 \uc911\uc694\ud55c \ubcc0\uacbd \uc0ac\ud56d\uc744 \uac04\ub7b5\ud558\uac8c \uc0b4\ud3b4 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.\t\uc0c8\ub85c\uc6b4 Localization Manager(\ub85c\uceec\ub77c\uc774\uc81c\uc774\uc158 \uad00\ub9ac\uc790)\ub97c \uc0ac\uc6a9\ud558\uba74 \uc194\ub8e8\uc158\uc5d0\uc11c \uc218\ub9ce\uc740 .resx \ud30c\uc77c\ub85c \uc791\uc5c5\uc744 \ub354 \ud6a8\uc728\uc801\uc73c\ub85c \uc218\ud589\ud560 \uc218","protected":false},"author":{"name":"Jessie Cho","link":"https:\/\/blog.jetbrains.com\/ko\/author\/jessie-chojetbrains-com"},"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[3990],"tags":[5527,4240,4241,4242,46,486,5593],"cross-post-tag":[],"acf":[],"featured_image":null,"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts\/33989"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"},{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=33989"}],"version-history":[{"count":0,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts\/33989\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=33989"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=33989"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=33989"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=33989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}