Ò»¡¢LSPÊÖÒÕϵͳ½¹µã×ÊÔ´¼Ü¹¹
רҵ¿ª·¢Õß´òÔìµÄlspѧϰ×ÊÁÏÀ¶×àºÏ¼¯Í¨³£°üÀ¨Èý²ã֪ʶ¼Ü¹¹£º»ù´¡Óï·¨Îĵµ¡¢APIµ÷ÊÔ¹¤¾ß°ü¡¢Êµ¼ù°¸Àý¿â¡£ÔÚÀ¶×àÔÆÆ½Ì¨ÉÏ£¬ÊÖÒÕ×ÊÁϳ£ÒÔ·Ö²ãѹËõ°üÐÎʽ´æ´¢£¬Í¨¹ýÃÜÂë¼ÓÃÜÈ·±£Çå¾²´«Êä¡£¹ØÓÚpo½âÈí¼þ¿âÕâÀàÌØÊâ×ÊÔ´£¬½¨Òéͨ¹ýÎļþ¹þÏ£ÑéÖ¤°ü¹ÜÍêÕûÐÔ£¬¹Ù·½ÍƼöʹÓÃ7-Zip»òWinRAR¾ÙÐж༶ѹËõ°ü½âѹ¡£
¶þ¡¢À¶×àÔÆÆ½Ì¨×ÊÔ´ÖÎÀíÕ½ÂÔ
×÷Ϊº£ÄÚÖ÷Á÷µÄÎļþÍÐ¹ÜÆ½Ì¨£¬À¶×àÔÆµÄÏÂÔØËÙÂÊÓë´æ´¢ÎȹÌÐÔʹÆä³ÉΪÊÖÒÕ×ÊÔ´¹²ÏíµÄÊ×Ñ¡¡£¿ª·¢ÍŶӿÉͨ¹ý½¨ÉèÀ¶×àÔÆ×ÊÔ´ºÏ¼¯ÊµÏÖ֪ʶ³Áµí£¬µ¥Õ˺Å×î¶à¿ÉÖÎÀí2000¸öÊÖÒÕÎĵµ°ü¡£Õë¶Ô´ó¹æÄ£po½âÈí¼þ¿â´æ´¢ÐèÇ󣬽¨Òé½ÓÄÉ·ÖÖ§¿Íջģʽ·Öʱ¸üУ¬¼ÈÄÜ¿ØÖƵ¥´Î´«ÊäÁ¿£¬ÓÖÄÜά³Ö×ÊÔ´°æ±¾µü´úµÄÒ»Á¬ÐÔ¡£
Èý¡¢PO½âÈí¼þ¿âµÄ¹æ·¶»¯Ê¹ÓÃ
רҵ¼¶po½âÈí¼þ¿âͨ³£°üÀ¨ÄæÏò¹¤³Ì¹¤¾ßÁ´ºÍµ÷ÊÔ²¹¶¡¼¯£¬¿ª·¢ÕßÔÚ¼¯³ÉÕâÀà×ÊԴʱÐèÌØÊâ×¢ÖØSDK°æ±¾Æ¥ÅäÎÊÌ⡣ͨ¹ýÀ¶×àºÏ¼¯ÖÎÀíµÄ×ÊÔ´°üÓ¦°üÀ¨ÍêÕûµÄÊðÃûÑéÖ¤»úÖÆ£¬½¨ÒéʹÓÿªÔ´¹¤¾ßÈçHashCheck¾ÙÐÐMD5УÑé¡£ÖµµÃ×¢ÖØµÄÊÇ£¬²¿·Ö¿ª·¢¹¤¾ß¿ÉÄܱ£´æ±àÒëÇéÐÎÒÀÀµ£¬Ê¹ÓÃÕßÐèÌáǰȷÈÏϵͳ×é¼þ°æ±¾¡£
ËÄ¡¢¹¤³Ì»¯×ÊÔ´ÕûºÏÊÖÒռƻ®
¹¹½¨ÆóÒµ¼¶lspѧϰϵͳÐè˼Á¿×ÊÔ´·ÖÀà¡¢°æ±¾¿ØÖÆ¡¢È¨ÏÞÖÎÀíÈý¸ÅÂÔËØ¡£ÊÖÒÕÈÏÕæÈ˿ɻùÓÚÀ¶×àÔÆµÄÎļþ¼ÐȨÏÞϵͳ½¨Éè·Ö¼¶»áÊ¶È¤ÖÆ£¬½¹µãÊÖÒÕ¿â½ÓÄÉT+1±¸·ÝÕ½ÂÔ¡£ÒÔijAI¿ª·¢ÍŶÓΪÀý£¬ÆäÀ¶×àÔÆ×ÊÔ´ºÏ¼¯ÈÕ¾ùͬ²½800+ÊÖÒÕÎĵµ£¬Í¨¹ý×Ô¶¯»¯¾ç±¾ÊµÏÖ×ÊÔ´°ü°æ±¾ºÅ×Ô¶¯¸üÐÂÓë±ä»»ÈÕÖ¾ÌìÉú¡£
Îå¡¢Çå¾²ÏÂÔØÓëºÏ¹æ²Ù×÷Ö¸ÄÏ
ÔÚ»ñÈ¡Íⲿpo½âÈí¼þ¿âʱ£¬¿ª·¢ÕßÐèСÐÄ´¹ÂÚ×ÊÔ´ºÍ¶ñÒâÀ¦°ó³ÌÐò¡£½¨Òé½ÓÄÉÀ¶×àÔÆ¹Ù·½¿Í»§¶ËÏÂÔØ¼ÓÃÜѹËõ°ü£¬²¢Ê¹ÓÃVirusTotalµÈƽ̨¾ÙÐв¡¶¾É¨Ãè¡£¹ØÓÚÉæ¼°ÉÌÒµÊÚȨµÄ¿ª·¢¹¤¾ß£¬Ó¦Í¨¹ý¹Ù·½ÇþµÀ»ñÈ¡ÈÏÖ¤°æ±¾£¬ÐëҪʱʹÓÃɳÏäÇéÐξÙÐиôÀë²âÊÔ¡£ÊÖÒÕÍŶӽ¨Éè×ÊÔ´ºÚÃûµ¥Öƶȣ¬°´ÆÚ¸üÐÂΣº¦ÎļþÌØÕ÷¿â¡£
Áù¡¢¿ª·¢ÇéÐεĸßЧÉèÖü¼ÇÉ
ÕûºÏÀ¶×àºÏ¼¯×ÊԴʱ£¬ÍƼö½ÓÄÉDockerÈÝÆ÷»¯°²Åżƻ®¡£Í¨¹ý¶¨ÖÆ»ù´¡¾µÏñԤװlsp¿ª·¢Ì×¼þ£¬¿É½«ÇéÐÎ×¼±¸Ê±¼äËõ¶Ì80%¡£ÔÚIDEÉèÖòãÃæ£¬VS CodeÅäºÏLanguage Server ProtocolÀ©Õ¹°ü¿ÉʵÏÖ´úÂëÖÇÄÜÌáÐÑÓë×Ô¶¯²¹È«¡£Õë¶ÔÖØ´ópo½âÈí¼þ¿âµÄÒÀÀµÎÊÌ⣬ʹÓÃAnaconda½¨ÉèÐéÄâÇéÐÎÄÜÓÐÓøôÀë²î±ð°æ±¾¿âµÄ¼æÈÝÐÔ³åÍ»¡£
±¾ÎÄϵͳÊáÀíÁËlspѧϰ×ÊÁÏÀ¶×àºÏ¼¯ÔÚÊÖÒÕÍŶÓÖеÄʵ¼ùÓ¦ÓÃÒªÁì£¬ÖØµãÆÊÎöÁËÀ¶×àÔÆÆ½Ì¨Óëpo½âÈí¼þ¿âµÄÕûºÏÕ½ÂÔ¡£¿ª·¢Ö°Ô±¿É¾Ý´Ë½¨Éè±ê×¼»¯µÄ×ÊÔ´ÖÎÀíϵͳ£¬ÔÚ°ü¹ÜÊÖÒÕÎĵµÇå¾²ÐÔµÄͬʱÌáÉý֪ʶ¸´ÓÃЧÂÊ¡£½¨Òé°´ÆÚÉó²é×ÊÔ´ºÏ¼¯µÄÊÖÒÕʱЧÐÔ£¬Á¬ÏµÐÐÒµ×îж¯Ì¬Ò»Á¬ÓÅ»¯ÊÖÒÕ´¢±¸¿â¡£
Ò»¡¢LSPÊÖÒÕ¹¤¾ßµÄ½¹µã¼ÛÖµÆÊÎö
LSP£¨Language Server Protocol£©×÷ΪÏÖ´úIDE¿ª·¢µÄÖ÷ÒªÐÒ飬ÕýÔÚÖØËÜÈí¼þ¹¤³ÌÁìÓòµÄ¿ª·¢·¶Ê½¡£À¶×àÔÆlspÈí¼þ¿âÖÐÊÕ¼µÄÖÖÖÖ¹¤¾ß¼¯£¬Í¨¹ý±ê×¼»¯ÓïÑÔЧÀͽӿÚʵÏÖÁË¿çÆ½Ì¨¿ª·¢Ö§³Ö¡£¶«ÆÂÍŶÓÕûÀíµÄ"ÖÇÄÜ´úÂ벹ȫÌ×¼þ"¼´»ùÓÚLSPÐÒ鿪·¢£¬Äܹ»ÏÔÖøÌáÉýJavaScript¡¢PythonµÈÓïÑԵıàÂëЧÂÊ¡£ÖµµÃ×¢ÖØµÄÊÇ£¬¸Ãƽ̨µÄºÏ¼¯×ÊÁϲ»µ«°üÀ¨Ö´ÐÐÎļþ£¬»¹ÅäÌ×ÌṩÁËÏêϸµÄAPIÎĵµºÍ²âÊÔÓÃÀý¡£
¶þ¡¢À¶×àÔÆ×ÊÔ´ÖÎÀíÆ½Ì¨ÌØÕ÷Ïê½â
×÷Ϊ×ÅÃûµÄÔÆ´æ´¢Ð§ÀÍÉÌ£¬À¶×àÔÆÎªLSP¹¤¾ß¿ª·¢ÕߴÁËרҵµÄ·Ö·¢ÇþµÀ¡£ÆäÖ±Á´ÏÂÔØÊÖÒÕ°ü¹ÜÁË´óÎļþ´«ÊäЧÂÊ£¬ÌØÊâÊÇÌå»ý½Ï´óµÄÓïÑÔЧÀÍÆ÷×°Öðü£¬ÏÂÔØËÙÂʿɴïͬÀàÆ½Ì¨µÄ3-5±¶¡£µ«Óû§Ðè×¢ÖØºË¶ÔÎļþ¹þÏ£Öµ£¬È·±£»ñÈ¡µÄÀ¶×àÔÆlspÈí¼þÏÂÔØ×ÊÔ´Óë¹Ù·½Ðû²¼°æ±¾ÍêȫһÖ¡£ÔõÑùÇø·Ö×ÊÔ´¿É¿¿ÐÔ£¿½¨ÒéÓÅÏÈÑ¡Ôñ´øÓÐ"¶«ÆÂ"ÈÏÖ¤±êʶµÄºÏ¼¯°ü£¬ÕâÀà×ÊÔ´¾ù¾ÓÉË«ÖØ´úÂëÉ󼯡£
Èý¡¢¿ª·¢¹¤¾ßºÏ¼¯µÄÇå¾²»ñȡ·¾¶
ÊÖÒÕÍŶÓÔÚʹÓÃÀ¶×àÔÆlspÈí¼þ¿â×ÊԴʱ£¬½¨Òé×ñÕÕÑÏ¿áµÄÇå¾²Á÷³Ì¡£Í¨¹ý×ÓÕ˺ŸôÍÑÀë·¢ÇéÐΣ¬¶ÔËùÓÐÏÂÔØµÄSDK£¨Software Development Kit£©¾ÙÐÐɳÏä²âÊÔ¡£ÒÔ"ÓïÒåÆÊÎö¹¤¾ß°üv3.2"ΪÀý£¬¸Ã×ÊÔ´ËäÈ»Ìå»ýµÖ´ï2.3GB£¬µ«ÅäÌ׵İ汾˵Ã÷ÎĵµÏêϸ¼Í¼ÁËÿ¸ö×é¼þµÄÒÀÀµ¹ØÏµ¡£Ê¹ÓÃÀú³ÌÖеij£¼ûÎóÇøÊÇÖ±½ÓÔÚÉú²úÇéÐΰ²ÅÅδÑéÖ¤¹¤¾ß£¬Õâ¿ÉÄÜÒý·¢Óï·¨ÆÊÎöÆ÷ÓëÏÖÓпò¼ÜµÄ¼æÈÝÐÔÎÊÌâ¡£
ËÄ¡¢¶«ÆÂÊÖÒÕÉçÇøµÄ×ÊÔ´ÕûÀí¹æ·¶
×÷ΪÀ¶×àÔÆLSPÈí¼þºÏ¼¯×ÊÁϵÄÖ÷Ҫά»¤·½£¬¶«ÆÂ¿ª·¢ÕßͬÃËÖÆ¶©ÁËÑÏ¿áµÄÊÖÒÕÎĵµ±à׫±ê×¼¡£ÆäÕûÀíµÄ¹¤¾ß¿â¾ù°üÀ¨£ºMD5УÑéÎļþ¡¢µ¥Î»²âÊÔÌ×¼þ¡¢¼æÈÝÐÔ¾ØÕó±íµÈÐëÒª×é¼þ¡£ÌØÊâÔÚÓïÒå°æ±¾¿ØÖÆ·½Ã棬ÿ¸ö×ÊÔ´°ü¶¼Æ¾Ö¤major.minor.patch¹æÔò¾ÙÐеü´úÖÎÀí¡£Óû§ÔÚÏÂÔØÊ±ÈôÓö°æ±¾ÔÓÂÒÇéÐΣ¬¿Éͨ¹ý¹¤¾ß°üÄÚµÄmanifest.xmlÎļþ×·ËÝÍêÕûµÄ¸üÐÂÈÕÖ¾¡£
Îå¡¢µä·¶Ó¦Ó󡾰ʵ¼ù²Ù×÷Ö¸ÄÏ
ÔÚÏêϸ¿ª·¢ÇéÐÎÖа²ÅÅÀ¶×àÔÆlspÈí¼þÏÂÔØ×ÊԴʱ£¬½¨Òé½ÓÄÉÈÝÆ÷»¯¼Æ»®¡£Í¨¹ýDocker¾µÏñ¼ÓÔØÔ¤ÉèÖõĿª·¢ÇéÐΣ¬¿ÉÈ·±£ÓïÑÔЧÀÍÆ÷µÄÔËÐиôÀëÐÔ¡£ÒÔTypeScriptÓïÑÔÖ§³Ö¹¤¾ßΪÀý£¬¹Ù·½ÍƼöµÄÄÚ´æÉèÖÃΪ4GB£¬µ«ÔÚ´¦Öóͷ£´óÐÍ´úÂë¿âʱ¿ÉÄÜÐèÒªµ÷½âJVM²ÎÊý¡£ÔõÑùÓÅ»¯ÐÔÄÜ£¿¿É²Î¿¼¶«ÆÂÊÖÒÕÎĵµÖеĵ÷ÓÅÖ¸ÄÏ£¬ÆäÖÐÏêϸ˵Ã÷Îú²î±ð³¡¾°ÏµÄGC£¨À¬»ø½ÓÄÉ£©Õ½ÂÔÉèÖüƻ®¡£
Áù¡¢¿ª·¢Õß³£¼ûÎÊÌâϵͳ½â´ð
Õë¶ÔÀ¶×àÔÆlspÈí¼þ¿âʹÓÃÖÐµÄ¸ßÆµÒÉÎÊ£¬ÊÖÒÕÍŶÓÕûÀíÁËÕï¶ÏÊֲᡣµ±Óöµ½²å¼þ¼ÓÔØÊ§°Üʱ£¬Ó¦¼ì²éÔËÐÐʱÇéÐαäÁ¿ÊÇ·ñ°üÀ¨JAVA_HOMEÉèÖá£Èô·ºÆð·ûºÅÆÊÎöÒì³££¬½¨Òé¸üÐÂÓïÒåË÷ÒýÊý¾Ý¿â¡£ÐèÒª×¢ÖØµÄÊÇ£¬²¿·ÖÀϰ汾¹¤¾ß°ü²»ÔÙά»¤£¬2019°æÓï·¨¼ì²éÆ÷ÒÑ×èÖ¹Çå¾²¸üУ¬¿ª·¢ÕßӦʵʱ´ÓÀ¶×àÔÆLSPÈí¼þºÏ¼¯×ÊÁÏÖлñÈ¡×îа汾¡£
ͨ¹ý¶ÔÀ¶×àÔÆLSPÈí¼þºÏ¼¯×ÊÁϵÄϵͳ»¯ÆÊÎö£¬¿ª·¢Õß¿ÉÏµÍ³ÕÆÎÕ¸ÃÊÖÒÕ×ÊÔ´µÄ»ñȡ·¾¶ÓëʹÓù淶¡£½¨Òé°´ÆÚÉó²é¶«ÆÂÍŶӵĸüÐÂͨ¸æ£¬Á¬ÏµÏîÄ¿ÐèÇóÑ¡Ôñ¾ÓÉÑéÖ¤µÄÎȹ̰汾£¬Í¬Ê±½¨Éè±ê×¼»¯µÄ¹¤¾ßÖÎÀíÁ÷³Ì¡£ÔÚÊý×Ö»¯×ªÐͼÓËÙµÄÅä¾°Ï£¬ºÏÀíʹÓÃÕâЩרҵ¹¤¾ß½«ÓÐÓÃÌáÉýÈí¼þ¿ª·¢ÖÊÁ¿Ó빤³ÌЧÂÊ¡£