我們在用vscode寫代碼時候經常需要選中文本,比如下圖
但絕大多數情況下我們想選中的是整個類名,如下圖
其實這個就牽扯到了vscode的分詞機制,它認為-應該截斷文本
其實不止-,還有其他字符都被vscode認為是分隔符
所以貼心的它提供了如下配置
{
// 如下是被vscode認為是分隔符的字符
// 我們在設置中搜索editor.wordSeparators
// 然后根據自己的需要刪除不想要的分隔符即可
// 比如刪除@,這樣我們就可以直接選中less變量和裝飾器如@xxx
"editor.wordSeparators": "`~#!@$%^&*()-=+[{]}\\|;:'\",<>/?."
}
我把webstorm的設置全看了一遍,沒有找到類似配置,如果有大佬知道怎么在webstorm配置的還請評論區留言指教
如果你覺得上方這種小配置可以提升你的代碼編寫效率以及幸福感,那就繼續往下看吧,一定不會讓你失望>_<
本人是通過Java入門編程的,接觸的第一個編輯器是ecilpse,后來idea越來越火,讓我第一次接觸到了jetbrains家的編輯器,剛開始使用idea時我就受到了深深的震撼,原來編輯器之間亦有差距。后來機緣巧合成為了前端,第一次接觸到同為jb家出品的真正的前端編輯器webstorm,由于idea使用的很熟,所以基本無縫切換。
因為本人一直對數學很感興趣,小時候就參加過奧數比賽,接觸過一些算法題,再加上有java開發經驗,所以typescript上手也很快且很感興趣。因為擅長這兩項,所以即使學歷平庸,甚至都不是計算機相關專業,但仍然可以得到jz及la的面試官認可并與他們成為同學
猶記得剛進jz的時候,因為公司有提供正版jetbrains開發工具,但我發現身邊的同學都在使用免費的vscode,所以讓我非常詫異,為什么放著webstorm不用,都去用vscode。肯定是收費的更好用啊!所以小組內只有我一個人在使用webstorm,后來因為安全原因我們組必須要安裝一個插件,但是一開始只有vscode版本的,也就意味著必須要使用vscode,我有嘗試使用,但是發現她就和一張白紙一樣,令我很不習慣,所以我拒絕使用,甚至和mentor吵了一架。
現在想來,估計是我當初付費購買的時候就已經被它給CPU了,為了說服自己不是冤大頭,自己也在催眠自己吧。在此不得不感謝那位mentor,我當時應該是魔怔了,但她仍然不離不棄,甚至找了心理部門的同學給我做心理輔導及插件開發組的同學為我講解vscode的相關配置,讓開發更搞笑。在此,對生命中遇到的那些給與過我幫助的人,說一聲謝謝——這個世界并不溫柔,但有些人真的很溫柔^_^
話不多說,下面進入正題。因為前端開發領域各不相同,所以我會進行分類講解
有些字符串里的文件路徑支持cmd+點擊跳轉。如大多數的導入語句,見下圖
但其他位置的字符串里的文件路徑大多不支持跳轉,如下圖
安裝插件
將鼠標光標放到包含文件路徑的字符串上,使用cmd + e(Windows系統ctrl + e)
即可彈出最匹配的文件查詢,就我使用的情況來看,第一個總是最匹配的。
如果默認行為不符合,我們可以手動選擇字符串,它就會按我們選擇的字符串精確搜索
如果這個快捷鍵不符合你的要求,可以自行修改
有時候我們為了排查問題,需要打印一些東西,其實大部分情況下這屬于一種模板操作
如下圖,復制要打印的變量,然后輸入自定義代碼片段
"log打印": {
"prefix": "clog",
"body": ["console.log('[ $CLIPBOARD ] >', $CLIPBOARD)$0"],
"description": "log打印",
"scope": "typescript,typescriptreact,javascript,javascriptreact"
},
其實可以通過設置宏一步完成
也可以安裝插件實現,類似的插件有很多
我舉其中一個,感興趣的可以自行搜索console關鍵詞就行
marketplace.visualstudio.com/items?itemN…
在此順便推薦一個非常好用的vscode代碼片段生成工具
snippet-generator.app/?descriptio…
舉個例子,把自己常用的代碼片段或webstorm里好用的代碼片段轉移過來
查看代碼時不需要進入對應文件,甚至都不需要鼠標hovre就能知道一段代碼到底是什么類型
看到紫色的加粗屬性我就知道它是只讀的
看到綠色斜體我就知道它是枚舉,紫色斜體是枚舉值
看到黃色下劃線我就知道它是被async修飾的方法,我下意識就會考慮到要不要加await調用,雖然eslint之類的也能檢測到,但它只會一刀切的全部警告。實際上并不一定要加await修飾,所有都警告一定是好的嗎?無用的警告,甚至錯誤的警告只會影響寫代碼的心情。它應該表達一種語義,用我喜歡的不同于變量,屬性之類的其他顏色就很好
資源管理器以及源代碼管理面板里的功能tab是可以拖動或者隱藏的
可以隱藏不想要的tab讓資源管理器更加清爽
也可以把一些常用的gitlens的tab拖出來,讓git視圖空間更大,更清晰
默認情況下,如果一個文件夾下面只有一個文件夾,那么這兩個文件夾會合并展示
如下圖,style的下層文件夾是public嗎?
不,其實是css,這種不統一的展示至少會讓我有些困惑
更改如下配置即可展示為下圖樣子
"explorer.compactFolders": false
有時候我們安裝使用一些工具時需要修改配置文件或是host文件啥的,那些文章一般都會說使用vim之類的命令,說實話真的很難用,不僅看著不清晰,修改更是不方便。如下圖
其實vscode提供了一個code命令,可以很方便的打開文件或文件夾,同樣是修改上述文件
有時候我們在啟動項目時會出現一些報錯需要通過百度去解決
這時候就需要去搜索一些終端打印的關鍵字,配置自動復制的話就可以省去手動復制的操作
"terminal.integrated.copyOnSelection": true
有時候選中了一些文本,但因為誤觸不小心把代碼移到了別處,如下
這個因人而異,我是不需要這個功能,反而有時候因為誤觸讓我很困惑,配置如下
// 改為false即可禁止拖動
"editor.dragAndDrop": false
有些包的版本使用了^修飾,導致版本并未完全鎖定,有時候可能某個小版本有問題需要我們排查
這個時候就需要知道我們具體安裝了哪個版本
通過下圖我們可以知道當前安裝的版本,最新版本,也可以直接進入查看細節
我們知道有些包是間接依賴的,并沒有列在package.json里,我想知道node_moduels里到底有沒有,可以直接搜索,以lodash為例,如下圖
本人主用react,個人認為vscode對react的支持比vue更好,上面vue能做到的,react也都能做到,就不贅述了
這里簡單再舉個css的例子
順便就此說一個相關的,屬性的值,如className到底是字符串還是jsx表達式,vscode默認是自動推斷的,也就是說className默認是字符串。
由此就出現了一個問題,比如本人項目中使用的都是cssmodule,其實需要輸入jsx表達式。其實倒不如這樣說,絕大多數屬性值,包括className,其實我想輸入的都是jsx表達式,可以進行如下配置
"javascript.preferences.jsxAttributeCompletionStyle": "braces",
"typescript.preferences.jsxAttributeCompletionStyle": "braces"
話說webstorm,你連大小寫都不認識了嗎,這樣會生效嗎,你還****跳轉???真是**!
這里就不得不說webstorm的一大缺點,總是喜歡強行提示,給人一種仿佛很智能的感覺。所以很吃性能,容易卡頓
vscode不僅可以正確提示,對于錯誤也有很清晰的解釋,并且提供了解決方案
作為一個使用webstorm遠超兩年半的開發者,vscode僅用半個月就通過它強大的代碼提示與搜索及代碼跳轉讓我有更加高效的開發效率,難怪大公司的員工可以免費使用的情況下都不愿意看webstorm一眼,基本都在使用vscode。
本人最近在準備晉升材料,所以有點忙。且由于配置稍微有點多,為了不耽誤大家閱讀,我只截取了一部分功能。
如果讀者老爺有遇到什么痛點都可以在評論區留言,我會一一解決,請相信我的沒能力!等我晉升之后基本就不用寫代碼了,到時候會把文章補全并且就vscode的提效技巧開個專題
俗話說,工欲善其事,必先利其器。有一個趁手的編輯器可以極大提升自己的開發效率及幸福感。畢竟跟編輯器相處的時間甚至比跟對象相處的時間還要長╮(╯▽╰)╭
webstorm在某些人眼里或許很好用,但我愿稱vscode為宇宙級編輯器(#^.^#)
也許,在程序員的世界,收費的并不一定就是最好的吧!!!
原文鏈接:https://juejin.cn/post/7344573753538789430
時寫代碼的時候多少會依賴編輯器里面的代碼補全,敲幾個字母就能補全一整個詞。可是這么多年過去了,為什么代碼補全還是像最開始那樣,只能限定于一個詞,而且毫無意義地按照字典表順序排列呢?
傳統的代碼補全,一大篇毫無意義的推薦
想象一下,如果用【AI】來做代碼提示會怎樣,把更常用的結果放在前面,給出更長的推薦,甚至一行!
AI做代碼補全,根據使用情況智能排序,甚至補完整個語句
【知名媒體紛紛報道】
近日我在瀏覽網頁時,看到了機器之心、36Kr、獵云網等知名媒體對AI輔助編程產品-「aiXcoder」(www.aixcoder.com
SDN 的讀者朋友們早上好哇,「極客頭條」來啦,快來看今天都有哪些值得我們技術人關注的重要新聞吧。
一分鐘速覽新聞點!
騰訊加入千模大戰!微信上線“騰訊混元助手”小程序
王小川:百川大模型開源之后在社區總下載量已突破 500 萬
蔚來:已偵破惡意攻擊信息系統案件,相關嫌疑人已抓獲
騰訊天美技術中心副總經理徐成龍離職,曾是《逆戰》制作人
消息稱小米汽車已試生產近 1 個月,最快年底開始量產
OpenAI 將于 11 月 6 日,舉辦首屆全球“開發者大會”
Meta 公司因爭搶計算資源發生內斗
深度綁定?蘋果與 Arm 簽署長達近 20 年的芯片合作協議
Android 14 正式版要“跳票”!谷歌 Pixle 8 首發新 OS
蘋果每天花費數百萬美元開發對話式 AI
PHP 8.3 RC1發布
WebStorm 2023.3 路線公布
國內要聞
騰訊加入千模大戰!微信上線“騰訊混元助手”小程序
騰訊將于今日(9月7日)正式公布旗下大模型和AI聊天機器人,然而在 9 月 6 日,微信就已經揭示了相關命名和圖標。根據小程序信息,“騰訊混元助手”的功能包括 AI 問答、AI 繪畫,騰訊官方此前已經展示了寫文案的能力。
此前報道,騰訊將在 2023 年騰訊全球數字生態大會上正式發布“混元大模型”,但并未提及是否面向公眾開放。騰訊文檔、騰訊云、騰訊廣告、騰訊游戲等多個騰訊內部業務和產品,已經接入騰訊混元大模型測試并取得初步效果。(IT之家)
王小川:百川大模型開源之后在社區總下載量已突破 500 萬
9 月 6 日,王小川創立的大模型公司百川智能召開發布會,介紹百川大模型在開源方面的最新進展。王小川表示,Baichuan-7B、Baichuan-13B 兩款開源大模型在多個權威評測榜單均名列前茅,目前下載量超過 500 萬次。他認為,百川智能作為有過搜索經驗的創業團隊,知道如何基于萬億互聯網數據精選、篩選優質垂直行業數據,進行去重、反垃圾訓練,也因此,百川在訓練語料上面的能力,幫助 Baichuan-7B 開源后在中英文主流任務上的表現全面超越了 LlaMA2-13B。
蔚來:已偵破惡意攻擊信息系統案件,相關嫌疑人已抓獲
據此前報道,蔚來汽車確認2021年8月之前的部分信息數據被黑客竊取,黑客向蔚來汽車勒索1567萬元等值的比特幣。隨后,蔚來汽車創始人、董事長兼CEO李斌也公開向用戶表達歉意,稱會對此次事件給用戶帶來的損失承擔責任,并表示堅決不與犯罪行為妥協。而在9月5日晚,蔚來官方正式公布了該事件的調查結果。
騰訊天美技術中心副總經理徐成龍離職,曾是《逆戰》制作人
騰訊天美工作室副總經理徐成龍(Floppy)日前已正式離職。如今,徐成龍已離職兩周,暫未獲知他接下來的去向。而他的領英個人主頁顯示簽名為 “what is metaverse? we must know. we will know.(什么是元宇宙?我們必須知道,也將會知道。)”
消息稱小米汽車已試生產近 1 個月,最快年底開始量產
近日,多家媒體實探北京亦莊小米汽車工廠,發現已開工,量產落地箭在弦上。
據界面新聞報道,一位接近小米汽車的知情人士透露,小米汽車現在正處于試生產階段,這項工作開展不足一個月。目前小米每周生產大約 50 輛樣車,夜間工人很少。上述知情人士表示,「小米汽車拿到工信部的批文預計在最近兩個月,最遲年底前可獲批,然后可以開始量產。」目前,小米汽車亦莊工廠又在大規模地招聘車間工人,招聘規模在 100 人上下,平均薪資在 6000 至 7000 元,每日工作時長為 8 小時,周末雙休,隨時入職。
國際要聞
OpenAI 將于 11 月 6 日,舉辦首屆全球“開發者大會”
9月7日,OpenAI在官網宣布,將于11月6日在美國加利福尼亞州舊金山,舉辦首屆全球 “開發者大會”—— OpenAI DevDay。OpenAI首席執行官 Sam Altman 表示,我們期待在開發者大會上展示,OpenAI的最新研究成果,幫助開發人員構建新的工具。大會報名地址:https://devday.openai.com/
Meta 公司因爭搶計算資源發生內斗
Meta Platforms 的大模型 Llama 和 Llama 2 作為 OpenAI 和 Anthropic 私有模型的開源替代而備受好評,但對大部分參與該項目的科學家和工程師來說,稱贊來得太遲了。知情人士透露,參與 Llama 項目的研究人員很多已經離職了,原因是與公司另一個研究團隊在計算資源上的內斗。另一個相競爭的模型已被 Meta 放棄。生成式 AI 需要大量的計算資源,需要專用芯片,而芯片是不會免費提高的。科技巨頭通常比其它公司擁有更多的計算資源。但即便如此,它們的計算資源也是有限制的。人才外流凸顯了大型科技公司在留住 AI 研究人員上面臨的挑戰。知情人士稱,2 月發表的 Llama 論文的 14 名作者中,一半以上已經離開公司,其中幾位加入了 AI 創業公司或其它大公司。(Solidot)
深度綁定?蘋果與 Arm 簽署長達近 20 年的芯片合作協議
9 月 6 日消息,英國芯片設計公司 ARM 于當地時間周二提交的最新 IPO 文件顯示,蘋果公司已經與 ARM 就芯片技術授權簽署了一項“延續至 2040 年以后”的新合作協議。周二,ARM 在最新提交的文件中公布了首次公開募股(IPO)的定價,每股 ADS 定價在 47-51 美元之間,IPO 規模最高 520 億美元。Arm 于 9 月 5 日起在紐約向投資者開始路演,預計這將是今年全球規模最大的 IPO。(網易科技)
Android 14 正式版要“跳票”!谷歌 Pixle 8 首發新 OS
近日,Android 開發者 Mishaal Rahman 在社交平臺透露,Android 14 源代碼推遲到下個月發布。手機廠商們原本以為 9 月份就可以為老機型推送 Android 14 正式版更新,但是現在消息稱谷歌決定將正式版推遲到 10 月份上線。谷歌已經宣布,將于 10 月 4 日發布旗艦 Pixel 8 系列,這意味著 Pixel 8 系列將會率先使用 Android 14 正式版。
一般來說,Android 大版本更新會率先上線,廠商推送給老機型,然后谷歌再發布 Pixel 系列旗艦,出廠預裝新版本 Android。但是目前來看,今年的 Android 14 將會打破這一慣例,谷歌將 Android 14 首發權留給了 Pixel 8 系列。(快科技)
蘋果每天花費數百萬美元開發對話式 AI
據 The Information 報道,蘋果將用于構建人工智能的預算擴大到每天數百萬美元。據知情人士透露,其目標之一是開發一些功能,如用戶僅需使用簡單的語音命令,就可讓 iPhone 自動執行涉及多個步驟的任務。例如,你可以告訴 Siri,「使用最近拍攝的 5 張照片創建一個 GIF,并將其發送給朋友」。
程序員專區
PHP 8.3 RC1發布
PHP 8.3 發布了首個 RC 版本,修復了 GH-11937 bug;引入 Zend 保護點位以解決 _debugInfo 問題;修復了 GH-11790 bug;修復了 oss-fuzz等,具體可查看發布說明:https://github.com/php/php-src/blob/php-8.3.0RC1/NEWS
WebStorm 2023.3 路線公布
本次更新中,WebStorm 團隊主要關注解決現有問題點,特別是類型導入、TypeScript 服務和單體庫等內容。同時還會完善新功能,如改進的錯誤格式化和語言服務器集成,并添加對新版本語言和框架功能的支持。此外還計劃進行性能優化,尤其是解決卡頓問題。以下是WebStorm 2023.3 的主要亮點:在WebStorm中完善新增功能、支持新的CSS功能、Type-only導入改進、JavaScript和TypeScript的增強功能等,具體可查看:https://blog.jetbrains.com/webstorm/2023/09/2023-3-roadmap/
觀點
*請認真填寫需求信息,我們會在24小時內與您取得聯系。