欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vscode的幾項基本配置詳解

 更新時間:2020年05月06日 11:06:41   作者:叫我PT  
VSCode是一款免費的、開源的、高性能的、跨平臺的、輕量級的代碼編輯器,這篇文章主要介紹了vscode的幾項基本配置,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧

vscode簡介

什么是vscode

簡單來說,vscode是一款文本編輯器,而不是ide。這就是說,vscode只提供編輯的環(huán)境而不提供編譯的環(huán)境,如果想要用vscode來集成開發(fā)環(huán)境,則必須經(jīng)過以下幾步:

  • 安裝必須的編譯器(比如mingw,python,texlive等)
  • 配置相應(yīng)編譯環(huán)境(添加環(huán)境變量等)
  • 安裝匹配的vscode的拓展插件
  • 通過拓展插件提供的“屬性”將外部編譯器鏈接到vscode

同時,一個文本編輯器肯定不會提供運行程序的功能,vscode也是如此。要運行程序,有如下幾種方法:

  • vscode的一些拓展插件中會提供配置好的終端和運行程序的命令,我們可以直接使用;
  • vscode中有專門運行程序的拓展插件code-runner,可以安裝后使用;
  • vscode提供了對數(shù)種終端的接口,我們可以在vscode中像使用cmd小黑框那樣使用終端,由此我們可以在vscode終端中運行程序;

這樣,我們大致了解了使用vscode編譯、運行程序的方法。

vscode的配置

首先,我們要明確vscode的配置的最小單元是文件夾,即可以使用打開文件夾功能我們可以把不同的文件夾鏈接到不同的外部編譯器、實現(xiàn)不同的快捷任務(wù)、快速進行debug和詳細設(shè)定拓展插件的功能等等。

因此,我們先速覽vscode的配置結(jié)構(gòu),如下圖:

在這里插入圖片描述

可以看到,

  • vscode下有全局設(shè)置settings.json;之后是工作區(qū),和工作區(qū)設(shè)置settings.json,一個工作區(qū)包含了多個文件夾;
  • 每個文件夾中有相同的.vscode文件夾,這個文件夾中的三個文件settings.json,tasks.json,launch.json,它們就是配置的核心。
  • 每個文件夾通過配置可以編譯運行不同語言的文件:c++,python和html,同時可以通過同一個工作區(qū)直接訪問,這就是vscode的集成性和方便性。

現(xiàn)在,我們一項一項來說:

文件結(jié)構(gòu)

vscode提供三級文件結(jié)構(gòu),從工作區(qū)到文件夾到單個文件:

  • 工作區(qū)是vscode提供的文件夾的“集合”,一個工作區(qū)可以包含多個文件夾,正如一個文件夾可以包含多個文件。
  • 文件夾是vscode配置的最小工作單元,vscode無法為單個文件提供配置。
  • 在不同的工作區(qū)中我們可以選擇啟用/禁用不同的拓展插件以節(jié)省內(nèi)存

settings.json

在這個json文件中,我們可以通過鍵值對的方式設(shè)置vscode內(nèi)置的或拓展插件的各項屬性,其中就包括外部編譯器地址、各項編譯偏好等等。

同時,vscode提供層層嵌套的settings,

在這里插入圖片描述

  • 從高到低分別是全局設(shè)置、工作區(qū)設(shè)置、文件夾設(shè)置; 全局設(shè)置默認通過ctrl+shift+P后輸入settings.json打開。
  • 我們在文件夾設(shè)置中設(shè)置的屬性會覆蓋工作區(qū)設(shè)置、也會覆蓋全局設(shè)置,反之不成立。
  • 因此,對于全局的設(shè)置,比如編輯器字體等,我們將其在user settings.json中進行設(shè)置,工作區(qū)暫不敘述,而對于每個文件夾都不同的設(shè)置,比如想在不同的文件夾中使用不同的python環(huán)境,我們選擇在folder settings中(即文件夾內(nèi)部的settings.json中)設(shè)置相應(yīng)內(nèi)容。

tasks.json

  • 很多時候,像在使用linux系統(tǒng)的時候,我們會自定義一些小腳本來方便的實現(xiàn)一些功能,vscode就使用tasks來支持快捷實現(xiàn)一些方便的功能。
  • 有些拓展插件會有封裝好的task可以直接執(zhí)行,我們也可以自定義各種各樣的task,例如實現(xiàn)“編譯當前文件”,“刪除多余文件”等等操作。
  • tasks比直接定義.bat文件更方便之處在于vscode提供了諸多快捷訪問特定路徑的方式,如當前文件夾的路徑,vscode打開的文件夾的路徑,當前文件的路徑,當前文件不帶拓展名的名稱等等。
  • tasks.json中定義的任務(wù)僅能在當前文件夾(包含該文件夾的工作區(qū))中使用。

launch.json

這其中的內(nèi)容主要是用來對調(diào)試提供支持。**針對不同語言的拓展插件會提供不同的模板。**按f5可以選擇模板并生成文件。

vscode的優(yōu)勢

  • 好看
  • 集成性很強
  • 配置好了后很方便,隨時可以自己加功能
  • 拓展極其豐富

配置實例

了解了vscode的配置原理,我在下面給出一些我自己配置的內(nèi)容以供參考。

settings.json全局配置

{
	//vscode的默認終端,此處設(shè)置為cmd
 	"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
 	//拖拽移動文件時不要確認提示
 	"explorer.confirmDragAndDrop": false,
 	//手動升級vscode
 	"update.mode": "manual",
 	//自動保存,此處設(shè)置為永遠自動保存
 	"files.autoSave": "afterDelay",
 	//task的下拉列表中顯示歷史常用的個數(shù) 
 	"task.quickOpen.history": 0,
}

對python

{	
	//控制是否激活pylint
 	//"python.linting.pylintEnabled": true,
 	"python.linting.enabled": true,
 	//如果使用pylint可能會導致奇怪的報錯,加上這幾句可以取消
 	//"python.linting.pylintArgs": [
 	// "--generate-members"
 	//],
 	//是否在自動補全的函數(shù)后自動添加括號
 	"python.autoComplete.addBrackets": false,
 	//是否使用python插件內(nèi)部的自動補全功能
 	"python.jediEnabled": true,
 	//python環(huán)境的路徑
 	"python.pythonPath": "C:\\apps\\Anaconda\\python.exe",
 	//python自動補全的搜索路徑
 	"python.autoComplete.extraPaths": [
 	 "C:/apps/Anaconda/Lib/site-packages/",
 	 "C:/apps/Anaconda/Scripts/"
    ],
}

對c,c++

{
 "files.associations": {
 "*.tcc": "cpp",
 "array": "cpp",
 "atomic": "cpp",
 "cctype": "cpp",
 "clocale": "cpp",
 "cmath": "cpp",
 "cstdarg": "cpp",
 "cstddef": "cpp",
 "cstdint": "cpp",
 "cstdio": "cpp",
 "cstdlib": "cpp",
 "cwchar": "cpp",
 "cwctype": "cpp",
 "deque": "cpp",
 "unordered_map": "cpp",
 "vector": "cpp",
 "exception": "cpp",
 "algorithm": "cpp",
 "functional": "cpp",
 "iterator": "cpp",
 "memory": "cpp",
 "memory_resource": "cpp",
 "numeric": "cpp",
 "optional": "cpp",
 "random": "cpp",
 "string": "cpp",
 "string_view": "cpp",
 "system_error": "cpp",
 "tuple": "cpp",
 "type_traits": "cpp",
 "utility": "cpp",
 "fstream": "cpp",
 "initializer_list": "cpp",
 "iosfwd": "cpp",
 "iostream": "cpp",
 "istream": "cpp",
 "limits": "cpp",
 "new": "cpp",
 "ostream": "cpp",
 "sstream": "cpp",
 "stdexcept": "cpp",
 "streambuf": "cpp",
 "typeinfo": "cpp"
 }
}

對latex

{
	//編譯方式
	"latex-workshop.latex.tools": [
 {
 "name": "latexmk",
 "command": "latexmk",
 "args": [
 "-synctex=1",
 "-interaction=nonstopmode",
 "-file-line-error",
 "-pdf",
 "%DOC%"
 ]
 },
 {
 "name": "xelatex",
 "command": "xelatex",
 "args": [
 "-synctex=1",
 "-interaction=nonstopmode",
 "-file-line-error",
 "%DOC%"
 ]
 }, 
 {
 "name": "pdflatex",
 "command": "pdflatex",
 "args": [
 "-synctex=1",
 "-interaction=nonstopmode",
 "-file-line-error",
 "%DOC%"
 ]
 },
 {
 "name": "bibtex",
 "command": "bibtex",
 "args": [
 "%DOCFILE%"
 ]
 }
 ],
	"latex-workshop.latex.recipes": [
 {
 "name": "xelatex",
 "tools": [
 "xelatex"
 ]
  },
 {
 "name": "latexmk",
 "tools": [
 "latexmk"
 ]
 },
 {
 "name": "pdflatex -> bibtex -> pdflatex*2",
 "tools": [
 "pdflatex",
 "bibtex",
 "pdflatex",
 "pdflatex"
 ]
 }
 ],
 //需要清除文件的后綴
 "latex-workshop.latex.clean.fileTypes": [
 "*.aux",
 "*.bbl",
 "*.blg",
 "*.idx",
 "*.ind",
 "*.lof",
 "*.lot",
 "*.out",
 "*.toc",
 "*.acn",
 "*.acr",
 "*.alg",
 "*.glg",
 "*.glo",
 "*.gls",
 "*.ist",
 "*.fls",
 "*.log",
 "*.fdb_latexmk",
 "*.gz"
 ],
 //不要顯示錯誤彈窗
 "latex-workshop.message.error.show": false,
 //不要顯示信息彈窗
 "latex-workshop.message.information.show": false,
 //不要顯示警報彈窗
 "latex-workshop.message.warning.show": false,
 //保存時不要自動編譯
 "latex-workshop.latex.autoBuild.run": "never",
 //默認在右邊tab預覽
 "latex-workshop.view.pdf.viewer": "tab",
} 

tasks.json對C/C++

{
 "version": "2.0.0",
 "command": "g++",
 "args": ["-g","${file}","-o","${fileBasenameNoExtension}.exe"], // 編譯命令參數(shù)
 "problemMatcher": {
 "owner": "cpp",
 "fileLocation": ["relative", "\\"],
 "pattern": {
 "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
 "file": 1,
 "line": 2,
 "column": 3,
 "severity": 4,
 "message": 5
 }
 }
}

用asymptote畫圖后進行編譯.asy文件,刪除多余文件,將結(jié)果移動至特定文件夾

{
 // See https://go.microsoft.com/fwlink/?LinkId=733558
 // for the documentation about the tasks.json format
 "version": "2.0.0",
 "tasks": [
 //編譯
 {
 //在task列表中顯示的文字
 "label": "Generate EPS",
 //運行環(huán)境
 "type": "shell",
 //命令
 "command": "asy",
 //參數(shù)
 "args": [
 "-f",
 "eps",
 //$開頭的都是vscode提供的封裝好的變量,具體內(nèi)容
 //可以自己嘗試
 "${file}"
 ],
 //所述屬組
 "group": "build",
 //報錯處理
 "problemMatcher": []
 },
 //刪除文件
 {
 "label": "Delete FILE",
 "type": "shell",
 "command": "del",
 "args": [
 "*.aux",
 "*.log",
 "*.dvi",
 "*.pdf"
 ],
 //設(shè)置為none的task不會在build task的下拉列表中展示
 "group": "none",
 "problemMatcher": []
 },
 //將生成的eps移動至相應(yīng)文件夾
 {
 "label": "Move EPS",
 "type": "shell",
 "command": "move",
 "args": [
 "/Y",
 //$開頭的都是vscode提供的封裝好的變量,具體內(nèi)容
 //可以自己嘗試
 "${workspaceFolder}\\${fileBasenameNoExtension}.eps",
 "C:\\Pt_Latex\\Reources\\"
 ],
 "group": "build",
 //在運行這個任務(wù)之前,需要提前運行的任務(wù)
 "dependsOn": [
 "Delete FILE"
 ],
 "problemMatcher": []
 }
 ]
}

launch.json

對C/C++

{ 
 "version": "0.2.0", 
 "configurations": [ 
 
 { 
 "name": "(gdb) Launch", // 配置名稱,將會在啟動配置的下拉菜單中顯示 
 "type": "cppdbg", // 配置類型,這里只能為cppdbg 
 "request": "launch", // 請求配置類型,可以為launch(啟動)或attach(附加) 
 "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 將要進行調(diào)試的程序的路徑 
 "args": [], // 程序調(diào)試時傳遞給程序的命令行參數(shù),一般設(shè)為空即可 
 "stopAtEntry": false, // 設(shè)為true時程序?qū)和T诔绦蛉肟谔?,一般設(shè)置為false 
 "cwd": "${workspaceFolder}", // 調(diào)試程序時的工作目錄,一般為${workspaceFolder}即代碼所在目錄 
 "environment": [], 
 "externalConsole": true, // 調(diào)試時是否顯示控制臺窗口,一般設(shè)置為true顯示控制臺 
 "MIMode": "gdb", 
 "miDebuggerPath": "C:\\apps\\MinGW\\bin\\gdb.exe", // miDebugger的路徑,注意這里要與MinGw的路徑對應(yīng) 
 "preLaunchTask": "g++", // 調(diào)試會話開始前執(zhí)行的任務(wù),一般為編譯程序,c++為g++, c為gcc 
 "setupCommands": [ 
 	{ 
 		"description": "Enable pretty-printing for gdb", 
  "text": "-enable-pretty-printing", 
  "ignoreFailures": true 
 	} 
 ] 
 } 
 ] 
}

對python(默認的就成)

{
 // 使用 IntelliSense 了解相關(guān)屬性。 
 // 懸停以查看現(xiàn)有屬性的描述。
 // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
 "version": "0.2.0",
 "configurations": [
 
 {
 "name": "Python: 當前文件",
 "type": "python",
 "request": "launch",
 "program": "${file}",
 "console": "integratedTerminal",
 //是否在程序開始處停止
 "stopOnEntry": false
 }
 ]
}

到此這篇關(guān)于vscode的幾項基本配置的文章就介紹到這了,更多相關(guān)vscode基本配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 后端算法題解LeetCode前綴和示例詳解

    后端算法題解LeetCode前綴和示例詳解

    這篇文章主要為大家介紹了后端算法題解LeetCode前綴和示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • 如何利用Fiddler模擬惡劣網(wǎng)絡(luò)環(huán)境

    如何利用Fiddler模擬惡劣網(wǎng)絡(luò)環(huán)境

    這篇文章主要介紹了如何利用Fiddler模擬惡劣網(wǎng)絡(luò)環(huán)境問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Kettle下載安裝pdi-ce-7.1.0.0-12教程

    Kettle下載安裝pdi-ce-7.1.0.0-12教程

    Kettle中有兩種腳本文件,transformation和job,transformation完成針對數(shù)據(jù)的基礎(chǔ)轉(zhuǎn)換,job則完成整個工作流的控制,今天通過本文給大家分享Kettle下載安裝pdi-ce-7.1.0.0-12的過程,感興趣的朋友一起看看吧
    2022-11-11
  • 關(guān)于Centos7中Vscode無響應(yīng)的問題及解決方法

    關(guān)于Centos7中Vscode無響應(yīng)的問題及解決方法

    在CentOS7中使用命令行直接安裝Vscode時,打開Vscode出現(xiàn)界面卡死、無響應(yīng)情況,如何處理這個問題呢,今天小編給大家?guī)砹薈entos7中Vscode無響應(yīng)的問題及解決方法,感興趣的朋友一起看看吧
    2021-07-07
  • 聊聊Flare應(yīng)用前后端性能優(yōu)化問題

    聊聊Flare應(yīng)用前后端性能優(yōu)化問題

    這篇文章主要介紹了Flare應(yīng)用前后端性能優(yōu)化,制作?flare?的過程,其實也是?flame?性能調(diào)優(yōu)的過程。不過在解決問題之前,我們首先得能定位問題有哪些,帶著這些問題一起通過本文學習吧
    2022-02-02
  • Windows下使用Gogs搭建Git服務(wù)器

    Windows下使用Gogs搭建Git服務(wù)器

    這篇文章介紹了使用Gogs搭建Git服務(wù)器的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • 測試框架JUnit VS TestNG對比分析

    測試框架JUnit VS TestNG對比分析

    這篇文章主要為大家介紹了測試框架JUnit VS TestNG對比分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • superset在linux和windows下的安裝和部署詳細教程

    superset在linux和windows下的安裝和部署詳細教程

    Superset 是 Airbnb開源的數(shù)據(jù)探查與可視化平臺,是個輕量級的BI工具,開發(fā)者可以在其開源代碼上根據(jù)需要進行二次開發(fā)。這篇文章主要介紹了superset在linux和windows下的安裝和部署詳細教程,需要的朋友可以參考下
    2020-10-10
  • 谷歌師兄的算法刷題筆記

    谷歌師兄的算法刷題筆記

    這篇文章主要介紹了谷歌師兄的算法刷題筆記的相關(guān)資料,需要的朋友可以參考下
    2021-02-02
  • 利用二進制文件安裝etcd的教程詳解

    利用二進制文件安裝etcd的教程詳解

    etcd組件作為一個高可用強一致性的服務(wù)發(fā)現(xiàn)存儲倉庫.這篇文章主要介紹了利用二進制文件安裝etcd的教程詳解,需要的朋友可以參考下
    2019-08-08

最新評論