從入門到精通:詳解Linux環境基礎開發工具的使用

前言

在這篇文章中,我將深入學習和理解Linux環境基礎開發工具的使用。無論你是初學者還是有一定經驗的開發者,相信這篇文章都會對你有所幫助。我們將詳細講解軟件包管理器、編輯器、編譯器、調試器、自動化構建工具以及版本控制工具的使用。

Linux軟件包管理器YUM

什么是軟件包

在Linux下安裝軟件,一個常用的辦法是下載到程序的源代碼,并進行編譯,得到可執行程序。但是這樣太麻煩了,于是有些人把一些常用的軟件提前編譯好,做成軟件包(可以理解成Windows上的安裝程序)放在一個服務器上,通過包管理器可以很方便地獲取到這個編譯好的軟件包,直接進行安裝。軟件包和軟件包管理器,就好比 “App” 和 “應用商店” 這樣的關系。YUM(Yellow dog Updater, Modified)是Linux下非常常用的一種包管理器,主要應用在Fedora、RedHat、CentOS等發行版上。

關于rzsz

rzsz是一個用于Windows機器和遠端的Linux機器通過XShell傳輸文件的工具。安裝完畢之后可以通過拖拽的方式將文件上傳到遠端服務器,非常方便。需要注意的是,使用yum進行操作時,必須確保主機(虛擬機)網絡暢通,可以通過ping指令驗證網絡連接是否正常。

查看軟件包

通過yum list命令可以列出當前系統中所有的軟件包。由于包的數目可能非常多,我們可以使用grep命令篩選出我們關注的包。例如:

yum list | grep lrzsz

結果如下:

lrzsz.x86_64 0.12.20-36.el7 @base

軟件包名稱包括主版本號、次版本號、源程序發行號、軟件包的發行號、主機平臺和CPU架構。例如,x86_64表示64位系統的安裝包,i686表示32位系統安裝包。選擇包時要和系統匹配。el7表示操作系統發行版的版本,如CentOS7/RedHat7,el6表示CentOS6/RedHat6。最后一列base表示軟件源的名稱,類似于"小米應用商店"、"華為應用商店"的概念。

安裝軟件

通過YUM,我們可以通過很簡單的一條命令完成軟件的安裝。例如安裝lrzsz

sudo yum install lrzsz

YUM會自動找到需要下載的軟件包,用戶需要敲"y"確認安裝,出現"complete"字樣,說明安裝完成。需要注意的是,安裝軟件時由于需要向系統目錄中寫入內容,一般需要使用sudo或切換到root賬戶下才能完成。另外,YUM安裝軟件時只能一個裝完了再裝另一個,如果在安裝過程中再嘗試用YUM安裝另一個軟件,YUM會報錯。如果遇到YUM報錯,可以自行百度解決方法。

卸載軟件

卸載軟件同樣非常簡單:

sudo yum remove lrzsz

Linux編輯器VIM使用

VIM的基本概念

VIM是VI的升級版本,它不僅兼容VI的所有指令,而且還有一些新的特性,例如語法加亮、可視化操作等。VIM具有多種模式,目前我們主要掌握三種:命令模式(Command Mode)、插入模式(Insert Mode)和末行模式(Last Line Mode)。

  • 命令模式(Command Mode):控制屏幕光標的移動、字符、字或行的刪除、復制某區段等操作,以及進入插入模式或末行模式。
  • 插入模式(Insert Mode):在此模式下可以進行文字輸入,按ESC鍵可回到命令模式。
  • 末行模式(Last Line Mode):進行文件保存或退出操作,也可以進行文件替換、找字符串、列出行號等操作。在命令模式下按:即可進入末行模式。

VIM的基本操作

進入VIM

在系統提示符下輸入vim及文件名稱后進入VIM全屏幕編輯界面。例如:

vim test.c

進入VIM后,默認處于命令模式,需要切換到插入模式才能輸入文字。

模式切換
  • 命令模式切換至插入模式:按aio
    • a:從光標當前位置的下一個位置開始輸入文字。
    • i:從光標當前位置開始輸入文字。
    • o:插入新的一行,從行首開始輸入文字。
  • 插入模式切換至命令模式:按ESC鍵。
  • 命令模式切換至末行模式:按shift + :
退出VIM及保存文件

在命令模式下,按一下:進入末行模式。例如:

:w    # 保存當前文件
:wq   # 保存并退出VIM
:q!   # 不保存強制退出VIM

VIM正常模式命令集

插入模式
  • i:切換進入插入模式,從光標當前位置開始輸入文件。
  • a:切換進入插入模式,從光標當前位置的下一個位置開始輸入文字。
  • o:切換進入插入模式,插入新的一行,從行首開始輸入文字。
移動光標
  • 使用hjkl分別控制光標左、下、上、右移一格。
  • G:移動到文章的最后。
  • $:移動到光標所在行的行尾。
  • ^:移動到光標所在行的行首。
  • w:光標跳到下一個字的開頭。
  • e:光標跳到下一個字的字尾。
  • b:光標回到上一個字的開頭。
  • #l:光標移到該行的第#個位置,例如5l56l
  • gg:進入文本開頭。
  • shift + g:進入文本末尾。
  • ctrl + b:屏幕往后移動一頁。
  • ctrl + f:屏幕往前移動一頁。
  • ctrl + u:屏幕往后移動半頁。
  • ctrl + d:屏幕往前移動半頁。
刪除文字
  • x:每按一次,刪除光標所在位置的一個字符。
  • #x:例如,6x表示刪除光標所在位置的后面(包含自己在內)6個字符。
  • X:每按一次,刪除光標所在位置的前一個字符。
  • #X:例如,20X表示刪除光標所在位置的前20個字符。
  • dd:刪除光標所在行。
  • #dd:從光標所在行開始刪除#行。
復制和粘貼
  • yw:將光標所在處到字尾的字符復制到緩沖區中。
  • #yw:復制#個字到緩沖區。
  • yy:復制光標所在行到緩沖區。
  • #yy:例如,6yy表示拷貝從光標所在的該行往下數6行文字。
  • p:將緩沖區內的字符貼到光標所在位置。注意:所有與“y”有關的復制命令都必須與“p”配合才能完成復制與粘貼功能。
替換
  • r:替換光標所在處的字符。
  • R:替換光標所到之處的字符,直到按下ESC鍵為止。
撤銷操作
  • u:撤銷上一次操作。按多次u可以執行多次撤銷。
  • ctrl + r:恢復撤銷的操作。
更改
  • cw:更改光標所在處的字到字尾處。
  • c#w:例如,c3w表示更改3個字。
跳至指定行
  • ctrl + g:列出光標所在行的行號。
  • #G:例如,15G表示移動光標至文章的第15行行首。

VIM末行模式命令集

列出行號
  • set nu:在文件中的每一行前面列出行號。
跳到文件中的某一行
  • #:輸入數字#,再按回車鍵就會跳

到該行。例如,輸入數字15,再回車,就會跳到文章的第15行。

查找字符
  • /關鍵字:按/鍵,再輸入想尋找的字符,如果第一次找的關鍵字不是想要的,可以一直按n會往后尋找。
  • ?關鍵字:按?鍵,再輸入想尋找的字符,如果第一次找的關鍵字不是想要的,可以一直按n會往前尋找。
保存文件
  • w:保存文件。
離開VIM
  • q:退出,如果無法離開VIM,可以在q后跟一個!強制退出。
  • wq:保存并退出。

VIM操作總結

VIM有三種主要模式:正常模式、插入模式和末行模式。我們可以使用各種命令進行文件的編輯、查看、查詢、插入、刪除、替換、撤銷、復制等操作。此外,VIM還有許多其他模式,用戶可以通過研究VIM的幫助文檔來了解更多。

簡單VIM配置

配置文件的位置

在目錄/etc/下面,有個名為vimrc的文件,這是系統中公共的VIM配置文件,對所有用戶都有效。而在每個用戶的主目錄下,可以自己建立私有的配置文件,命名為.vimrc。例如,/root目錄下,通常已經存在一個.vimrc文件,如果不存在,則可以創建一個。

切換用戶到自己的工作目錄:

su
cd ~

打開自己目錄下的.vimrc文件:

vim .vimrc
常用配置選項
  • 設置語法高亮:syntax on
  • 顯示行號:set nu
  • 設置縮進的空格數為4:set shiftwidth=4
使用插件

要配置更強大的VIM,原生的配置可能功能不全,可以選擇安裝插件來完善配置。例如,安裝TagList插件和WinManager插件。

安裝TagList插件
  1. 下載taglist_xx.zip,解壓完成后,將解壓出來的doc內容放到~/.vim/doc,將解壓出來的plugin內容拷貝到~/.vim/plugin
  2. ~/.vimrc中添加:
    let Tlist_Show_One_File=1
    let Tlist_Exit_OnlyWindow=1
    let Tlist_Use_Right_Window=1
    
安裝文件瀏覽器和窗口管理器插件WinManager
  1. 下載winmanager.zip,解壓完成后,將解壓出來的doc內容放到~/.vim/doc,將解壓出來的plugin內容拷貝到~/.vim/plugin
  2. ~/.vimrc中添加:
    let g:winManagerWindowLayout='FileExplorer|TagList'
    nmap wm :WMToggle<cr>
    
  3. 重啟VIM,打開文件,在正常模式下輸入wm

Linux編譯器GCC/G++使用

背景知識

GCC是GNU Compiler Collection的縮寫,是Linux系統中的標準編譯器。它支持多種編程語言,如C、C++、Objective-C、Fortran、Ada等。GCC編譯器的工作過程分為四個階段:預處理、編譯、匯編和連接。

  1. 預處理:進行宏替換、文件包含、條件編譯和去注釋等操作。
  2. 編譯:將預處理后的代碼翻譯成匯編語言。
  3. 匯編:將匯編代碼轉化為機器碼。
  4. 連接:將目標文件與庫文件鏈接,生成可執行文件或庫文件。

GCC如何完成

預處理

預處理主要包括宏定義、文件包含、條件編譯、去注釋等操作。預處理指令是以#號開頭的代碼行。用戶可以使用-E選項進行預處理,停止編譯過程。例如:

gcc -E hello.c -o hello.i

其中,-E選項的作用是讓GCC在預處理結束后停止編譯過程,-o選項指定輸出文件,.i文件是已經過預處理的C源代碼。

編譯

編譯階段中,GCC首先檢查代碼的規范性、是否有語法錯誤等,在檢查無誤后,將代碼翻譯成匯編語言。用戶可以使用-S選項只進行編譯而不進行匯編,生成匯編代碼。例如:

gcc -S hello.i -o hello.s
匯編

匯編階段是將匯編代碼轉化為機器碼。用戶可以使用-c選項生成目標文件。例如:

gcc -c hello.s -o hello.o
連接

連接階段是將目標文件與庫文件鏈接,生成可執行文件或庫文件。例如:

gcc hello.o -o hello

函數庫

在C程序中,常用的庫函數如printf的實現并不在源代碼中定義,而是在庫文件中。系統將這些函數實現放在名為libc.so.6的庫文件中,GCC會在鏈接階段將其鏈接到程序中。函數庫分為靜態庫和動態庫兩種。

  • 靜態庫:在編譯鏈接時將庫文件的代碼全部加入到可執行文件中,生成的文件較大,但運行時不需要庫文件。靜態庫的后綴名一般為.a
  • 動態庫:在編譯鏈接時不將庫文件的代碼加入到可執行文件中,而是在程序執行時由運行時鏈接器加載庫文件,節省系統開銷。動態庫的后綴名一般為.so

GCC選項

GCC提供了許多選項,用戶可以根據需要進行配置。例如:

  • -E:只激活預處理,不生成文件。
  • -S:只進行編譯,不進行匯編和鏈接。
  • -c:只進行編譯,不進行連接。
  • -o:指定輸出文件。
  • -static:生成靜態鏈接的文件。
  • -g:生成調試信息。
  • -shared:盡量使用動態庫,生成的文件較小,但需要系統有動態庫。
  • -O0-O3:編譯器優化選項的4個級別,-O0表示沒有優化,-O1為默認值,-O3優化級別最高。
  • -w:不生成任何警告信息。
  • -Wall:生成所有警告信息。

Linux調試器GDB使用

背景

程序發布方式有兩種:debug模式和release模式。Linux下GCC/G++生成的二進制程序默認是release模式,要使用GDB調試,必須在源代碼生成二進制程序時加上-g選項。

開始使用

GDB是GNU Debugger的縮寫,用于調試程序。用戶可以通過以下命令啟動GDB:

gdb binFile

調試過程中可以使用以下命令:

  • listl 行號:顯示源代碼,每次列10行。
  • runr:運行程序。
  • nextn:單條執行。
  • steps:進入函數調用。
  • breakb 行號:在某一行設置斷點。
  • info break:查看斷點信息。
  • finish:執行到當前函數返回。
  • printp 表達式:打印表達式的值。
  • set var:修改變量的值。
  • continuec:從當前位置開始連續執行程序。
  • delete breakpoints:刪除所有斷點。
  • disable breakpoints:禁用斷點。
  • enable breakpoints:啟用斷點。
  • display 變量名:跟蹤查看變量值。
  • undisplay:取消對變量的跟蹤。
  • until 行號:跳至指定行。
  • backtracebt:查看函數調用及參數。
  • info locals:查看當前棧幀局部變量的值。
  • quit:退出GDB。

理解

通過實際操作理解GDB的使用方法,可以幫助用戶在調試過程中快速定位和解決問題。

Linux項目自動化構建工具Make/Makefile

背景

Makefile是一種自動化編譯工具,定義了一系列的規則來指定哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯等。Makefile極大地提高了軟件開發的效率,特別是在大型項目中。Make是一個命令工具,用于解釋Makefile中的指令。

理解

Makefile定義了一系列依賴關系和命令。例如:

hello: hello.ogcc hello.o -o hellohello.o: hello.sgcc -c hello.s -o hello.ohello.s: hello.igcc -S hello.i -o hello.shello.i: hello.cgcc -E hello.c -o hello.i

Makefile通過依賴關系定義了編譯順序,Make會根據依賴關系自動進行編譯。

項目清理

在Makefile中定義清理目標,可以方便地清除所有生成的文件。例如:

.PHONY: clean
clean:rm -f hello.i hello.s hello.o hello

偽目標clean用于清除所有目標文件,以便重編譯。

Linux第一個小程序:進度條

\r和\n

回車\r和換行\n的概念在進度條顯示中非常重要。回車\r將光標移到行首,換行\n將光標移到下一行。

行緩沖區概念

行緩沖區會導致輸出無法立即顯示,可以通過fflush(stdout)刷新緩沖區。例如:

#include <stdio.h>
#include <unistd.h>int main() {printf("hello Makefile!");fflush(stdout);sleep(3);return 0;
}

進度條代碼

下面是一個簡單的進度條實現代碼:

#include <stdio.h>
#include <unistd.h>
#include <string.h>int main() {int i = 0;char bar[102];memset(bar, 0, sizeof(bar));const char *lable = "|/-\\";while (i <= 100) {printf("[%-100s][%d%%][%c]\r", bar, i, lable[i % 4]);fflush(stdout);bar[i++] = '#';usleep(10000);}printf("\n");return 0;
}

使用Git命令行

安裝Git

可以通過以下命令安裝Git:

yum install git

在GitHub創建項目

注冊賬號

在GitHub官網注冊賬號,并進行郵箱校驗。

創建項目
  1. 登錄成功后,進入個人主頁,點擊左下方的New repository按鈕新建項目。
  2. 在新頁面中輸入項目名稱,點擊Create repository按鈕確認創建。
  3. 在創建好的項目頁面中復制項目的鏈接,備用下載。

下載項目到本地

創建好一個放置代碼的目錄,然后使用以下命令下載項目:

git clone [url]

Git操作三板斧

git add

將需要用Git管理的文件告知Git:

git add [文件名]
git commit

提交改動到本地:

git commit -m "提交日志"
git push

同步到遠端服務器上:

git push

需要輸入用戶名和密碼,提交成功后,刷新GitHub頁面就能看到代碼改動了。

配置免密碼提交

可以參考CSDN博客進行配置。

總結

從軟件包管理器、編輯器、編譯器、調試器、自動化構建工具到版本控制工具,每個工具都有其獨特的功能和用法。掌握這些工具,可以幫助我們更高效地進行開發和管理項目。
嗯,就是這樣啦,文章到這里就結束啦,真心感謝你花時間來讀。
覺得有點收獲的話,不妨給我點個吧!
如果發現文章有啥漏洞或錯誤的地方,歡迎私信我或者在評論里提醒一聲~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/13927.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13927.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13927.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

后端數據庫開發JDBC編程Mybatis之用基于XML文件的方式映射SQL語句實操

之前的SQL語句是基于注解 以后開發中一般是一個接口對應一個映射文件 書寫映射文件 基本結構 框架 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.or…

盡在掌握:Android 13 通知新功能詳解

盡在掌握&#xff1a;Android 13 通知新功能詳解 在移動應用開發中&#xff0c;通知扮演著至關重要的角色&#xff0c;它如同應用程序與用戶之間的橋梁&#xff0c;及時傳遞關鍵信息&#xff0c;提升用戶體驗。Android 13 作為最新的安卓版本&#xff0c;在通知方面帶來了諸多…

Rom應用開發遇到得一些小bug

記錄一些細碎得bug ROM時間類問題 問題描述&#xff1a; 設備拔電重啟&#xff0c;ROM時間為默認時間如1970年1月1日&#xff0c;與某些業務場景互斥 問題原因&#xff1a; 后臺接口校驗https證書校驗失敗&#xff0c;要求是2年內得請求頭校驗了時間戳&#xff0c;時間戳過期…

QLExpress入門及實戰總結

文章目錄 1.背景2.簡介3.QLExpress實戰3.1 基礎例子3.2 低代碼實戰3.2.1 需求描述3.2.1 使用規則引擎3.3.2 運行結果 參考文檔 1.背景 最近研究低代碼實現后端業務邏輯相關功能&#xff0c;使用LiteFlow作為流程編排后端service服務, 但是LiteFlow官方未提供圖形界面編排流程。…

使用RAG和文本轉語音功能,我構建了一個 QA 問答機器人

節前&#xff0c;我們星球組織了一場算法崗技術&面試討論會&#xff0c;邀請了一些互聯網大廠朋友、參加社招和校招面試的同學. 針對算法崗技術趨勢、大模型落地項目經驗分享、新手如何入門算法崗、該如何準備、面試常考點分享等熱門話題進行了深入的討論。 匯總合集&…

代碼隨想錄算法訓練營第36期DAY37

DAY37 先二刷昨天的3道題目&#xff0c;每種方法都寫&#xff1a;是否已完成&#xff1a;是。 報告&#xff1a;134加油站的樸素法沒寫對。原因是&#xff1a;在if中缺少了store>0的判斷&#xff0c;只給出了indexi的判斷。前進法沒寫出來。因為忘記了總油量的判斷。Sum。…

基于springboot圖書個性化推薦系統源碼數據庫

基于springboot圖書個性化推薦系統源碼數據庫 本論文主要論述了如何使用JAVA語言開發一個圖書個性化推薦系統&#xff0c;本系統將嚴格按照軟件開發流程進行各個階段的工作&#xff0c;采用B/S架構&#xff0c;面向對象編程思想進行項目開發。在引言中&#xff0c;作者將論述圖…

K8s 運維架構師實戰課程

阿良課程收益 掌握Kubernetes企業運維管理 掌握部署、運維、存儲、網絡、監控、日志、CICD、服務網格等實戰全面搞定&#xff01; 獨立將公司任何項目容器化遷移到K8s平臺 生產環境真實案例 大廠企業實戰經驗 學習最新版、最佳實踐 K8s 運維架構師實戰【初中級】&#xff1a;ht…

docker 方式gost代理搭建以及代理鏈實施

一、項目地址&#xff1a;https://github.com/ginuerzh/gost 二、實施 環境信息 主機名公網IP地址內網IP地址角色beijing101.200.xxx.xxx192.168.0.160單層代理serverbeijing101.200.xxx.xxx192.168.0.160鏈式代理下游serverhk47.238.xxx.xxx172.31.94.207鏈式代理上游serve…

linux誤刪crontab定時任務后的補救措施(隨手記)

起因 想看一眼定時任務的時候&#xff0c;手誤打成了-r&#xff0c;接著我的定時任務就全沒了…… 補救措施 我們都知道&#xff0c;crontab的幾個關鍵目錄中有一個是/var/log/cron&#xff0c;這個目錄記錄了crontab執行的日志。 如果平時沒有備份crontab的習慣的話&#x…

【MySQL精通之路】InnoDB-內存結構-自適應哈希索引

1.作用 自適應哈希索引使InnoDB能夠在具有適當的工作負載組合和足夠的緩沖池內存的系統上執行更像內存中的數據庫&#xff0c;而不會犧牲事務特性或可靠性。 2.設置 自適應哈希索引由innodb_adaptive_hash_index變量啟用 或在服務器啟動時由--skip-innodb-adaptive-has…

VMware 安裝Windows Server 2008 R2

1.下載鏡像 迅雷&#xff1a;ed2k://|file|cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617598.iso|3368839168|D282F613A80C2F45FF23B79212A3CF67|/ 2.安裝過程 自定義名字&#xff0c;點擊【瀏覽】選擇安裝路徑 點擊【瀏覽】選擇前…

鴻蒙應用開發系列 篇三:ArkTS語言

文章目錄 系列文章概述基本語法基本結構概念釋疑聲明式UI描述高級特性自定義組件頁面和自定義組件生命周期狀態管理渲染控制ArkTS語言基礎類庫系列文章 鴻蒙應用開發系列 篇一:鴻蒙系統概述 鴻蒙應用開發系列 篇二:鴻蒙系統開發工具與環境

(Oracle)SQL優化基礎(三):看懂執行計劃順序

往期內容&#xff1a; &#xff08;Oracle&#xff09;SQL優化基礎&#xff08;一&#xff09;&#xff1a;獲取執行計劃 &#xff08;Oracle&#xff09;SQL優化基礎&#xff08;二&#xff09;&#xff1a;統計信息 獲取到執行計劃后&#xff0c;對于新手朋友來講可能不知道…

Qt筆記:動態處理多個按鈕點擊事件以更新UI

問題描述 在開發Qt應用程序時&#xff0c;經常需要處理多個按鈕的點擊事件&#xff0c;并根據點擊的按鈕來更新用戶界面&#xff08;UI&#xff09;&#xff0c;如下圖。例如&#xff0c;你可能有一個包含多個按鈕的界面&#xff0c;每個按鈕都與一個文本框和一個復選框相關聯…

基于springboot+vue+Mysql的逍遙大藥房管理系統

開發語言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;數據庫工具&#xff1a;Navicat11開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

Flutter 中的 FormField 小部件:全面指南

Flutter 中的 FormField 小部件&#xff1a;全面指南 在Flutter的世界里&#xff0c;表單是用戶輸入數據的基本方式之一。FormField是一個強大的小部件&#xff0c;它將表單字段的創建、驗證和管理集成到了一個易于使用的抽象中。本文將為您提供一個全面的指南&#xff0c;幫助…

AWS安全性身份和合規性之AWS Firewall Manager

AWS Firewall Manager是一項安全管理服務&#xff0c;可讓您在AWS Organizations中跨賬戶和應用程序集中配置和管理防火墻規則。在創建新應用程序時&#xff0c;您可以借助Firewall Manager實施一套通用的安全規則&#xff0c;更輕松地讓新應用程序和資源從一開始就達到合規要求…

【flutter】 Running Gradle task ‘assembleDebug‘...超時問題

關聯搜索&#xff1a;flutter下載gradle失敗、AndroidStudio下載gradle失敗 構建Flutter項目時遇到控制臺一直卡在 Running Gradle task ‘assembleDebug’… 解決方案 1. 修改gradle-wrapper.properties 文件 如果找不到就直接搜索&#xff1a; 把https\://services.gradl…

vscode更改語言,記錄一下

首先打開安裝好的Vscode軟件&#xff0c;可以看到頁面上顯示的是英文效果。 同時按鍵ctrlshiftp&#xff0c;接著在輸入框中輸入 configure Display language如圖&#xff1a; 選擇中文簡體就ok了&#xff0c;如果沒有則安裝 chinese Language pack