lspÈí¼þºÏ¼¯ÔõôװÖã¿°ì·¨Ïê½âÓëʹÓÃÖ¸ÄÏ

À´Ô´£ºÖ¤È¯Ê±±¨Íø×÷Õߣº
×ÖºÅ

ʹÓòå¼þÀ©Õ¹¹¦Ð§

LSP¹¤¾ßͨ³£Ö§³Ö²å¼þÀ©Õ¹£¬Äã¿ÉÒÔÆ¾¾ÝÐèҪװÖúÍʹÓÃÖÖÖÖ²å¼þÀ´À©Õ¹Æä¹¦Ð§ ¡£

ÔöÇ¿´úÂëÆÊÎö£ºÍ¨¹ý×°ÖõÚÈý·½²å¼þ£¬ÈçSonarLint£¬¿ÉÒÔÔڱ༭Æ÷ÖÐʵʱ½øÐдú?ÂëÖÊÁ¿ÆÊÎö£¬Ìṩ¸üÉîÈëµÄ´úÂëÖÊÁ¿·´Ïì ¡£

¼¯³É°æ±¾¿ØÖÆ£ºÊ¹ÓÃÏñGitLensÕâÑùµÄ²å¼þ£¬¿ÉÒÔÔÚ±à?¼­Æ÷ÖÐÖ±½Ó¼ì²ìºÍÖÎÀí°æ±¾¿ØÖÆÐÅÏ¢£¬±ãµ±µØ¼ì²ìÎļþµÄÀúÊ·°æ?±¾ºÍ×÷Õ߱任 ¡£

¿ªÔ´ÏîĿƽ̨

ÔÚ¿ªÔ´ÏîĿƽ̨ÉÏ£¬ÓÐÐí¶àÌṩÃâ·ÑLSPÈí¼þ¿âºÏ¼¯µÄÏîÄ¿ ¡£ÀýÈ磬GitHubÉÏÓдó×ڵĿªÔ´Èí¼þ¿âºÍÏîÄ¿£¬Äã¿ÉÒÔÔÚÕâЩƽ̨ÉÏÕÒµ½Ðí¶àÃâ·ÑµÄLSPÈí¼þ¿âºÏ¼¯ ¡£Ö»Ðè»á¼ûGitHub£¬ÊäÈëÏà¹ØÒªº¦´ÊÈç¡°LSPÈí¼þ¿âºÏ¼¯¡±»ò¡°LightweightSoftwarePlatform¡±£¬¼´¿ÉÕÒµ½´ó×ÚµÄÏà¹ØÏîÄ¿ ¡£

Ðí¶à¿ª·¢Õß»áÔÚÏîÄ¿Öи½´øÏÂÔØÁ´½Ó»òÕßÌṩ´úÂëÍйÜ£¬ÈÃÄã¿ÉÒÔÖ±½ÓÏÂÔØ²¢Ê¹ÓÃÕâЩ¹¤¾ß ¡£

ʵ¼Ê°¸Àý·ÖÏí

ÎÄÌìÖ°ÀࣺÈÎÎñ£ºÊ¹ÓÃBERT½øÐÐÎÄÌìÖ°Àà ¡£°ì·¨£ºÊý¾ÝÔ¤´¦Àí£º½«Îı¾Êý¾Ýת»»ÎªBERT¿ÉÒÔ´¦ÀíµÄ»¨Ñù ¡£Ä£ÐͼÓÔØ£º¼ÓÔØÔ¤ÑµÁ·µÄBERTÄ£ÐÍ ¡£ÑµÁ·Ä£ÐÍ£ºÊ¹ÓÃѵÁ·Êý¾Ý¶ÔÄ£ÐͽøÐÐ΢µ÷ ¡£ÆÀ¹ÀºÍ²âÊÔ£ºÔÚ²âÊÔÊý¾ÝÉÏÆÀ¹ÀÄ£ÐÍÐÔÄÜ ¡£»úе·­Ò룺ÈÎÎñ£ºÊ¹ÓÃTransformers¿â½øÐлúе·­Òë ¡£

°ì·¨£ºÊý¾Ý×¼±¸£º×¼±¸ºÃѵÁ·Êý¾Ý£¨Ô´ÓïÑÔºÍÄ¿¿ÚºÅÑÔ¶Ô£© ¡£Ä£ÐÍÑ¡Ôñ£ºÑ¡ÔñºÏÊʵÄԤѵÁ··­ÒëÄ£ÐÍ£¬ÈçmT5 ¡£Î¢ºÍгѵÁ·£º¶ÔÄ£ÐͽøÐÐ΢µ÷ ¡£·­ÒëºÍÆÀ¹À£ºÊ¹ÓÃ΢µ÷ºóµÄÄ£ÐͽøÐз­Ò룬²¢ÆÀ¹ÀÆä׼ȷÐÔ ¡£

ʹÓÃLSPÈí¼þºÏ¼¯

´úÂ벹ȫ£ºÔڱ༭´úÂëʱ£¬LSP¹¤¾ß»áƾ¾ÝÄãµÄÊäÈë×Ô¶¯Ìṩ´úÂ벹ȫ½¨Òé ¡£Äã¿ÉÒÔͨ¹ý°´ÏÂTab¼ü½ÓÊܽ¨Ò飬Ҳ¿ÉÒÔʹÓÃCtrl+¿Õ¸ñ¿ì½Ý¼üÊÖ¶¯´¥·¢²¹È« ¡£

Óï·¨¼ì²éºÍ¹ýʧÌáʾ£ºLSP¹¤¾ß»áʵʱ¼ì²éÄãµÄ´úÂ룬²¢ÔÚ±à?¼­Æ÷ÖÐÏÔʾÓï·¨¹ýʧºÍÌáʾ ¡£µ±Äã¿´µ½¹ýʧ±ê¼Çʱ£¬µã»÷¹ýʧ±ê¼Ç¿ÉÒÔ»ñÈ¡ÏêϸµÄ¹ýʧÐÅϢϢÕù¾ö½¨Òé ¡£

Ìø×ªºÍ½ç˵£ºÍ¨¹ý°´ÏÂF12¼ü£¬Äã¿ÉÒÔÔÚ´úÂëÖпìËÙÌø×ªµ½º¯Êý»ò±äÁ¿µÄ½ç˵λÖà ¡£Õâ¹ØÓÚ´óÐÍ´úÂë¿âµÄÔĶÁºÍά»¤ºÜÊÇÓаï?Öú ¡£

»¨Ñù»¯´úÂ룺Ðí¶àLSP¹¤¾ßÖ§³Ö´úÂ뻨Ñù»¯¹¦Ð§£¬Äã¿ÉÒÔͨ¹ý¿ì½Ý¼üShift+Alt+F»òÕßÔÚVSCodeµÄÃüÁîÃæ°åÖÐÑ¡Ôñ¡°FormatDocument¡±À´»¨Ñù»¯Õû¸öÎļþ ¡£

×¼±¸ÊÂÇé

×°ÖÃNode.js£º´ó´ó¶¼LSP¹¤¾ßÐèÒªNode.jsÇé¿öÀ´ÔËÐÐ ¡£Äã¿ÉÒÔǰÍùNode.js¹Ù·½ÍøÕ¾ÏÂÔØ²¢×°ÖÃ×îа汾µÄNode.js ¡£

ÏÂÔØºÍ×°ÖÃVisualStudioCode£¨VSCode£©£ºVSCodeÊÇÒ»¸öºÜÊÇÁ÷ÐеĴúÂë±à¼­Æ÷£¬ÄÚÖÃÁËÐí¶àÀ©Õ¹£¬¿ÉÒԱ㵱µØ×°ÖúÍÖÎÀíLSP¹¤¾ß ¡£Äã¿ÉÒÔǰÍùVSCode¹Ù·½ÍøÕ¾ÏÂÔØ²¢°²?×°VSCode ¡£

È·ÈÏϵͳÇé¿ö£ºÈ·±£ÄãµÄ²Ù×÷ϵͳ£¨Windows¡¢MacOS»òLinux£©ÒѾ­ÕýÈ·ÅäÖ㬲¢ÇÒËùÓбØÐëµÄÒÀÀµ°ü£¨ÈçGit¡¢PythonµÈ£©ÒѾ­×°Öà ¡£

Ó²¼þ¼ÓËÙ£ºÀûÓÃGPU¼ÓËÙѵÁ·ºÍÍÆÀí ¡£ÀýÈ磬ÔÚʹÓÃTransformersʱ£¬¿ÉÒÔÖ¸¶¨É豸£ºpythondevice=torch.device("cuda"iftorch.cuda.is_available()else"cpu")bert_model.to(device)inputs=tokenizer("Hello,myworld!",return_tensors="pt").to(device)outputs=bert_model(inputs)

µ÷ÊÔºÍÓÅ»¯

ΪÁËÈ·±£lspЧÀÍÆ÷Äܹ»¸ßЧÔËÐУ¬¿ÉÒÔ½øÐÐһЩµ÷ÊÔºÍÓÅ»¯£º

¼ì²éÈÕÖ¾£º´ó´ó¶¼lspЧÀÍÆ÷¶¼»áÉú³ÉÈÕÖ¾Îļþ£¬¿ÉÒÔͨ¹ý¼ì²éÕâЩÈÕÖ¾ÎļþÀ´µ÷ÊÔÎÊÌâ ¡£¸üвå¼þºÍЧÀÍÆ÷£º°´ÆÚ¼ì²é?²¢¸üÐÂlsp²å?¼þºÍЧÀÍÆ÷£¬È·±£ÄãʹÓõÄÊÇ×îа汾 ¡£ÐÔÄÜÓÅ»¯£ºÈç¹ûÄã·¢Ã÷lspЧÀÍÆ÷ÔÚijЩÇé¿öÏÂÐÔÄܽϲ¿ÉÒÔʵÑéµ÷½âÅäÖûòÕß¿¼ÂÇʹÓøü¸ßÐÔÄܵÄЧÀÍÆ÷ ¡£

ͨ¹ýÒÔÉϰ취£¬ÄãÒѾ­ÀÖ³É×°Öò¢ÅäÖÃÁËlspÈí¼þºÏ¼¯£¬ÏÖÔÚ¿ÉÒÔÔÚÄãµÄ±à¼­Æ÷ÖÐÏíÊܵ½Ç¿´óµÄ¿ª·¢¹¦Ð§ÁË ¡£ÎÒÃǽ«Ïêϸ½éÉÜÈçºÎÔÚʵ¼Ê¿ª·¢ÖиßЧÀûÓÃÕâЩ¹¤¾ß ¡£

ÔÚʵ¼Ê¿ª·¢ÖУ¬lspÈí¼þºÏ¼¯Äܹ»Îª¿ª·¢ÕßÌṩǿ´óµÄ¹¦Ð§Ö§³Ö£¬×ÊÖúÄãÔ½·¢¸ßЧµØÍê³É¿ª·¢ÈÎÎñ ¡£±¾ÎĽ«½øÒ»²½Ì½ÌÖÈçºÎÔÚʵ¼Ê¿ª·¢ÖиßЧÀûÓÃlspÈí¼þºÏ¼¯£¬²¢ÌṩһЩʵÓõÄС¼¼ÇÉ ¡£

fromtransformersimportBertTokenizer,BertModel#¼ÓÔØBERTTokenizerºÍModeltokenizer=BertTokenizer.from_pretrained('bert-base-uncased')bert_model=BertModel.from_pretrained('bert-base-uncased')#±àÂëÊäÈëinputs=tokenizer("Hello,myworld!",return_tensors="pt")outputs=bert_model(inputs)µ÷ÓźÍÓÅ»¯£º³¬²ÎÊýµ÷ÓÅ£ºÆ¾¾Ý¾ßÌåÈÎÎñµ÷½âÄ£Ðͳ¬²ÎÊý£¬ÈçѧϰÂÊ¡¢Åú¾ÞϸµÈ ¡£

У¶Ô£ºÕÅÑÅÇÙ(1C0m4pJyqZtPma0S7t9ZFfz4hTykKag)

ÔðÈα༭£º Áõ»¢
ΪÄãÍÆ¼ö
Óû§ÆÀÂÛ
µÇ¼ºó¿ÉÒÔ̸»°
ÍøÓÑÆÀÂÛ½ö¹©Æä±í´ï¸öÈË¿´·¨£¬²¢²»±êÃ÷֤ȯʱ±¨Á¢³¡
ÔÝÎÞÆÀÂÛ