国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

讓國(guó)內(nèi)程序員頭疼多年的問(wèn)題,終于有救了!

0
分享至

0 1

讓程序員頭疼的問(wèn)題

VS Code是當(dāng)今最流行的代碼編輯器,也是很多程序員的主力編程工具。

在使用VS Code編程和學(xué)習(xí)過(guò)程中,經(jīng)常需要面對(duì)大量的英文,編程語(yǔ)言是英文,注釋是英文,資料是英文......

程序員如果英文不過(guò)關(guān),連簡(jiǎn)單的英文變量名和函數(shù)名讀起來(lái)都很吃力,更不用說(shuō)長(zhǎng)文本注釋和長(zhǎng)篇大論的英文文檔了,這對(duì)于程序員來(lái)說(shuō)是很大的阻礙。

當(dāng)然,我們可以把這些英文復(fù)制/粘貼到翻譯軟件或者翻譯網(wǎng)站中,看看中文含義,然后再返回VS Code繼續(xù),這樣來(lái)回切換,對(duì)編程思路來(lái)說(shuō)是很大的打斷。

現(xiàn)在的瀏覽器中有不少沉浸式翻譯的插件,VS Code也支持插件/擴(kuò)展,同樣也可以開(kāi)發(fā)出類似的沉浸式翻譯功能,確實(shí)有人這么做了,但是很多VS Code插件只支持單詞翻譯,不支持整個(gè)句子/文檔的翻譯。即使是支持,用的大多是上一代機(jī)翻技術(shù),機(jī)械的翻譯,無(wú)法達(dá)到信達(dá)雅的效果。

最近我注意到智譜BigModel開(kāi)放平臺(tái)(bigmodel.cn)的應(yīng)用空間中推出了多個(gè)“翻譯智能體”:

它不但支持通用的多語(yǔ)種翻譯,還支持專業(yè)文檔翻譯,文學(xué)翻譯,影視字幕翻譯和社交媒體翻譯。

我嘗試了一下,發(fā)現(xiàn)它翻譯的效果相當(dāng)不錯(cuò),比如這句英文:Caught between a rock and a hard drive with this coding dilemma.

普通的機(jī)器可能翻譯為:陷入這種編碼困境的巖石和硬盤之間。

但是智譜的翻譯體(使用轉(zhuǎn)述翻譯)可以翻譯成:

可見(jiàn)效果是相當(dāng)不錯(cuò)的。

這些翻譯智能體不但可以在網(wǎng)頁(yè)端直接使用,也對(duì)外提供了API:

我立刻就想到,為什么不利用它開(kāi)發(fā)一個(gè)VS Code 的插件呢?

在VS Code只需要選中變量名、方法名、注釋、文檔等英文,然后利用智譜翻譯智能體強(qiáng)悍的能力進(jìn)行翻譯。

0 2

總體設(shè)計(jì)

這個(gè)插件可以叫做"Code Translator",用戶在VS Code中選取一段代碼中的英文文本(可能是變量名、方法名、注釋、文檔),點(diǎn)擊右鍵,在彈出的菜單中選擇“翻譯”,插件會(huì)把用戶選中的英文文本發(fā)給翻譯智能體。

對(duì)于翻譯結(jié)果的展示,在展示的方式上需要區(qū)分一下:

1.如果要翻譯的英文比較短,可以把翻譯的結(jié)果漂浮在英文文本旁邊。

2.如果英文本身就比較長(zhǎng)(例如很長(zhǎng)的注釋,整個(gè)文檔),可以把翻譯成的中文放到一個(gè)臨時(shí)文件中,展示給用戶。

值得注意的是,需要對(duì)變量,函數(shù)名,類名等需要做一些預(yù)處理,例如把parsePropertyElement進(jìn)行切分,變成Parse Property Element 然后進(jìn)行翻譯。

0 3

插件實(shí)現(xiàn)

我之前做過(guò)Eclipse插件的開(kāi)發(fā),沒(méi)有做過(guò)VS Code插件的開(kāi)發(fā),但是這兩個(gè)產(chǎn)品都出自大神Eric Gamma,我相信這兩者肯定有相似之處,應(yīng)該都是找到某個(gè)擴(kuò)展點(diǎn),然后寫對(duì)應(yīng)的擴(kuò)展代碼。

何況現(xiàn)在還有大模型,可以讓它輔助把大部分代碼都生成!

在自動(dòng)生成的代碼中,已經(jīng)基本完成了VS Code插件所需的配置,尤其是當(dāng)點(diǎn)擊右鍵時(shí)對(duì)彈出菜單項(xiàng)“Translate”的處理,由于有很多VS Code插件所需的樣板代碼,這里就不一一展示了。

我需要做的是完善對(duì)智譜翻譯智能體的調(diào)用,核心代碼還是很簡(jiǎn)單的,調(diào)用起來(lái)非常方便,一目了然。

const response = await axios.post(
  url,
  {
    agent_id: 'general_translation',
    messages: [
      {
        role: 'user',
        content: [
          {
            type: 'text',
            text: text
          }
        ]
      }
    ],
    custom_variables: {
      source_lang: 'en',
      target_lang: 'zh'
    }
  },
  {
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${apiKey}`
    }
  }
);
const data = response.data;
const translatedText = data?.choices?.[0]?.messages?.[0]?.content?.text || '[No translation found]';
return translatedText;

值得提醒的是,記得去智譜開(kāi)放平臺(tái)(bigmodel.cn)去申請(qǐng)一個(gè)API Key。

當(dāng)VS Code插件收到翻譯結(jié)果以后,就可以展示出來(lái)了。

一種是漂浮在英文文本旁邊,用Decoration來(lái)實(shí)現(xiàn),5秒后消失。

const deco = vscode.window.createTextEditorDecorationType({
      after: {
        contentText: ` → ${translatedText}`,
        color: 'gray',
        margin: '0 0 0 1em',
        fontStyle: 'italic'
          }
       });
       editor.setDecorations(deco, [selection]);
       setTimeout(() => deco.dispose(), 5000);

另外一種是創(chuàng)建一個(gè)臨時(shí)文檔,顯示在側(cè)邊欄:

const content = `${translatedText}`;
const doc = await vscode.workspace.openTextDocument(
  { content, language: 'markdown' });
vscode.window.showTextDocument(doc, vscode.ViewColumn.Beside, true);

0 4

運(yùn)行測(cè)試

我拿了一個(gè)早期的Spring源代碼做了一下測(cè)試,在VS Code中,選擇一個(gè)方法名("afterPropertiesSet"),點(diǎn)擊右鍵,在彈出菜單中選擇“Translate”:

翻譯結(jié)果(“設(shè)置屬性后”)立刻就顯示在旁邊了,5秒后就自動(dòng)消失。

這個(gè)例子是對(duì)變量名的翻譯:

無(wú)論是對(duì)變量名,函數(shù)名,還是類名,都進(jìn)行了一些預(yù)處理,把camelCase,PascalCase,snake_case拆分成了具體的單詞。

下面是對(duì)注釋的翻譯:

如果選擇的英文文本比較長(zhǎng),沒(méi)法漂浮在旁邊,就會(huì)生成一個(gè)臨時(shí)文檔,放在英文文檔的右邊,方便對(duì)比著看。

0 5

總結(jié)

從我實(shí)驗(yàn)的結(jié)果看,智譜翻譯智能體很容易就能集成到自己的插件中,翻譯的效果相當(dāng)不錯(cuò),很準(zhǔn)確,很全面。

使用這個(gè)小插件,程序員可以在編程和學(xué)習(xí)迅速地把不懂的英文翻譯成中文,沉浸式地閱讀資料,不用在VS Code和其他翻譯系統(tǒng)直接來(lái)回切換,可以很大程度上提升專注度,讓自己的開(kāi)發(fā)流程更加順暢。

當(dāng)然,這個(gè)插件還有很大的改進(jìn)空間,比如:可以把常用的詞緩存起來(lái),避免多次調(diào)用;對(duì)注釋格式的處理要更加智能;翻譯結(jié)果的顯示位置要更加合理等等;還可以加入自定義的計(jì)算機(jī)專業(yè)詞庫(kù),進(jìn)一步調(diào)優(yōu)翻譯的質(zhì)量。

這個(gè)VS Code插件只是智譜翻譯智能體的一個(gè)小小的應(yīng)用,強(qiáng)烈建議大家也到智譜開(kāi)放平臺(tái)(bigmodel.cn)去看看,嘗試一下智譜翻譯智能體,發(fā)揮你的想象力,也許可以用它開(kāi)發(fā)出更有創(chuàng)意的應(yīng)用/網(wǎng)站,甚至出海去賺錢呢!

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
伊朗代表直接警告美方:我建議你保持禮貌!

伊朗代表直接警告美方:我建議你保持禮貌!

看看新聞Knews
2026-03-01 17:11:05
伊朗最高國(guó)家安全委員會(huì)發(fā)布第1號(hào)公告

伊朗最高國(guó)家安全委員會(huì)發(fā)布第1號(hào)公告

界面新聞
2026-02-28 18:24:27
浴缸陪睡只是冰山一角,多位助理服務(wù)明星方式曝光,一個(gè)個(gè)太離譜

浴缸陪睡只是冰山一角,多位助理服務(wù)明星方式曝光,一個(gè)個(gè)太離譜

離離言幾許
2026-03-02 15:53:17
縣級(jí)媒體為何越難干?

縣級(jí)媒體為何越難干?

吳女士
2026-02-28 14:16:14
錢再多有什么用?52歲劉強(qiáng)東上千億身家,兒子卻是他一生的遺憾

錢再多有什么用?52歲劉強(qiáng)東上千億身家,兒子卻是他一生的遺憾

墨印齋
2026-01-31 16:37:48
紀(jì)實(shí):“等我長(zhǎng)大殺你全家”15歲男生被打后放狠話,20歲翻墻行兇

紀(jì)實(shí):“等我長(zhǎng)大殺你全家”15歲男生被打后放狠話,20歲翻墻行兇

牧愚君
2024-04-27 21:57:10
高官確認(rèn):伊朗不會(huì)退出世界杯!有權(quán)參加 在美國(guó)踢比賽也沒(méi)問(wèn)題

高官確認(rèn):伊朗不會(huì)退出世界杯!有權(quán)參加 在美國(guó)踢比賽也沒(méi)問(wèn)題

念洲
2026-03-03 06:31:52
多年后才懂,為何岳不群起初對(duì)令狐沖很好,后來(lái)卻越瞧他越不順眼

多年后才懂,為何岳不群起初對(duì)令狐沖很好,后來(lái)卻越瞧他越不順眼

武俠百曉生
2026-03-01 00:02:54
45歲,我上岸冰島公務(wù)員,年休120天

45歲,我上岸冰島公務(wù)員,年休120天

投稿指南
2026-02-12 00:56:56
2292 萬(wàn)臺(tái) 賣爆!中國(guó)超高端市場(chǎng) iPhone 17 一騎絕塵!

2292 萬(wàn)臺(tái) 賣爆!中國(guó)超高端市場(chǎng) iPhone 17 一騎絕塵!

EETOP半導(dǎo)體社區(qū)
2026-03-02 12:16:51
遼寧推妻墜海案中,死者兒子案發(fā)后的舉動(dòng),才叫人頭皮發(fā)麻…

遼寧推妻墜海案中,死者兒子案發(fā)后的舉動(dòng),才叫人頭皮發(fā)麻…

媒體人溪婉
2024-11-29 13:57:59
同樣煮餃子,“蓋蓋煮”和“不蓋蓋煮”區(qū)別大,難怪煮出來(lái)不一樣

同樣煮餃子,“蓋蓋煮”和“不蓋蓋煮”區(qū)別大,難怪煮出來(lái)不一樣

阿龍美食記
2026-02-23 17:00:18
驚人的家庭鐵律:對(duì)兄弟姐妹家的孩子“不聞不問(wèn)” 才是真正的

驚人的家庭鐵律:對(duì)兄弟姐妹家的孩子“不聞不問(wèn)” 才是真正的

戶外阿毽
2026-03-01 12:15:16
趙本山近況曝光!68歲高齡現(xiàn)身美國(guó)加州,這狀態(tài)你敢信?

趙本山近況曝光!68歲高齡現(xiàn)身美國(guó)加州,這狀態(tài)你敢信?

手工制作阿殲
2026-03-01 16:51:57
第九波打擊!伊朗襲擊美軍航母,美英油輪被炸,特朗普急了

第九波打擊!伊朗襲擊美軍航母,美英油輪被炸,特朗普急了

史智文道
2026-03-03 10:02:47
一只勵(lì)志的小黑豬:為了活命,拼命幫主人干活,最終獲得免死金牌

一只勵(lì)志的小黑豬:為了活命,拼命幫主人干活,最終獲得免死金牌

貍貓之一的動(dòng)物圈
2026-02-24 09:00:11
開(kāi)年5天跌超3成,博納影業(yè)散戶深套,有人滿倉(cāng)虧13.7萬(wàn)仍硬扛

開(kāi)年5天跌超3成,博納影業(yè)散戶深套,有人滿倉(cāng)虧13.7萬(wàn)仍硬扛

財(cái)經(jīng)智多星
2026-03-03 08:37:18
他當(dāng)過(guò)三朝宰相,睡過(guò)上官婉兒與太平公主,死后讓唐玄宗念念不忘

他當(dāng)過(guò)三朝宰相,睡過(guò)上官婉兒與太平公主,死后讓唐玄宗念念不忘

掠影后有感
2026-03-02 10:24:03
王晶大侃萬(wàn)梓良晚年凄涼!他不懂江湖規(guī)矩,演戲夸張對(duì)手很難接

王晶大侃萬(wàn)梓良晚年凄涼!他不懂江湖規(guī)矩,演戲夸張對(duì)手很難接

小徐講八卦
2026-02-11 11:40:12
男子送相親對(duì)象回家遇其忘帶鑰匙,開(kāi)房遭拒后女子怒斥男子真沒(méi)用

男子送相親對(duì)象回家遇其忘帶鑰匙,開(kāi)房遭拒后女子怒斥男子真沒(méi)用

朗威談星座
2026-03-02 16:54:30
2026-03-03 11:08:49
碼農(nóng)翻身 incentive-icons
碼農(nóng)翻身
有趣且硬核的技術(shù)文章
231文章數(shù) 629關(guān)注度
往期回顧 全部

科技要聞

蘋果iPhone17e發(fā)布:4499元起 升級(jí)A19芯片

頭條要聞

牛彈琴:多國(guó)對(duì)轟炸保持沉默 西班牙首相確實(shí)是條漢子

頭條要聞

牛彈琴:多國(guó)對(duì)轟炸保持沉默 西班牙首相確實(shí)是條漢子

體育要聞

35輪后積分-7,他們?cè)庥鍪飞献钤绲慕导?jí)

娛樂(lè)要聞

謝娜霸氣護(hù)夫:喊話薛之謙給張杰道歉

財(cái)經(jīng)要聞

霍爾木茲海峽近乎停擺 布油直逼80美元

汽車要聞

國(guó)民SUV再添一員 瑞虎7L靜態(tài)體驗(yàn)

態(tài)度原創(chuàng)

健康
旅游
時(shí)尚
親子
本地

轉(zhuǎn)頭就暈的耳石癥,能開(kāi)車上班嗎?

旅游要聞

走,去花田里撒點(diǎn)野!成都郫都蝴蝶村第四屆田園菜花季正式定檔

普通人穿衣真的很簡(jiǎn)單!單品選對(duì)、搭配合理,大方舒適又得體

親子要聞

為何移植了優(yōu)質(zhì)胚胎,卻還是反復(fù)失敗?

本地新聞

津南好·四時(shí)總相宜

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版