⑴ vscode使用python中的open函數創建出來的文件為什麼總是在最外層,而不是在同級目錄
如果指定的路徑是相對路徑,open函數會基於當前的工作目錄來定位文件。例如,open('1.txt', 'r'),由於1.txt是相對路徑,open函數會在當前的工作目錄下尋找1.txt文件。用vscode打開一個項目文件夾,工作目錄就是項目文件夾。
要在其他目錄下創建文件,要麼使用絕對路徑,要麼使用相對於工作目錄的正確路徑,要麼使用os.chdir()更改工作目錄。
⑵ VS Code中的文件夾(Folder)與工作區(Workspace)
在VS Code的「 文件 」菜單中, 「打開文件夾(Open Folder)」 是指開打項目文件夾的根目錄。一個項目文件夾(Project Folder)包含一個或多個文件夾與項目相關的文件夾,以及與該項目相關的VS Code配置(放在.vscode文件夾中)。
在「 文件 」菜單中,還有一個選項: 「打開工作空間(Open Workspace)」, 這個選項和「打開文件夾」有什麼區別?什麼時候應該使用文件夾?什麼時候應該使用工作空間呢?
在VS Code中,工作空間(workspace)具體指後綴為*.code-workspace的文件,它是一個 JSON with Comments 格式的文件,裡麵包含了所有與該工作空間相關聯的文件夾,以及相關的VS Code配置信息,如下所示。
雙擊*.code-workspace文件,啟動VSCode打開工作空間與啟動VSCode後,用「打開文件夾」方式打開項目文件夾的區別是,前者的文件夾名後面有一個工作空間(workspace)的後綴
[ 什麼時候用工作區? ] 有且僅有需要同時在多個項目上工作的時候,才需要創建工作區,這時候,工作區裡面有多個項目文件夾的根目錄(root),即: Multi-root Workspaces
[ 什麼時候用文件夾? ]在一個項目上工作,使用文件夾,就夠了。針對該項目設置完VS Code後,VS Code會自動在項目文件夾的根目錄中創建一個.vscode文件夾存儲VS Code配置(settings.json文件)
⑶ vscode配置文件的關系
簡單來說,vscode是一款文本編輯器,而不是ide。這就是說,vscode只提供編輯的環境而不提供編譯的環境,如果想要用vscode來集成開發環境,則必須經過以下幾步:
安裝必須的編譯器(比如mingw,python,texlive等)
配置相應編譯環境(添加環境變數等)
安裝匹配的vscode的拓展插件
通過拓展插件提供的「屬性」將外部編譯器鏈接到vscode
同時,一個文本編輯器肯定不會提供運行程序的功能,vscode也是如此。要運行程序,有如下幾種方法:
vscode的一些拓展插件中會提供配置好的終端和運行程序的命令,我們可以直接使用;
vscode中有專門運行程序的拓展插件code-runner,可以安裝後使用;
vscode提供了對數種終端的介面,我們可以在vscode中像使用cmd小黑框那樣使用終端,由此我們可以在vscode終端中運行程序;
這樣,我們大致了解了使用vscode編譯、運行程序的方法。
vscode的配置
首先,我們要明確vscode的配置的最小單元是文件夾,即可以使用打開文件夾功能我們可以把不同的文件夾鏈接到不同的外部編譯器、實現不同的快捷任務、快速進行debug和詳細設定拓展插件的功能等等。
因此,我們先速覽vscode的配置結構,如下圖:
可以看到,
vscode下有全局設置settings.json;之後是工作區,和工作區設置settings.json,一個工作區包含了多個文件夾;
每個文件夾中有相同的.vscode文件夾,這個文件夾中的三個文件settings.json,tasks.json,launch.json,它們就是配置的核心。
每個文件夾通過配置可以編譯運行不同語言的文件:c++,python和html,同時可以通過同一個工作區直接訪問,這就是vscode的集成性和方便性。
⑷ vscode配置項解釋(解惑多人協同情況下用戶區設置和工作區設置)
對於設置在工作空間里的設置,或者說本身是針對文件夾 或項目來說的,其原理是所有的工作空間設置會生成一個 .vscode的文件夾
對於每一個前端開發者來說,我們肯定都會對我們的個人開發工具vscode做一些我們自己的用戶級別的風格設置,這個時候如果我們一個項目是有多名開發者一起協同合作的話,那這個時候就會出現一些設置沖突對不對,在這種情況下,其實就是工作區設置出場的時候了,因為工作區設置是會產生文件.vscode的,這樣每個人拉下來項目後就也會包含這個文件了,在這樣的情況下可能大家已經猜到了,那就是工作區設置會覆蓋用戶區設置,這樣就能保證我們大家各自設置不影響我們的項目配置了,編碼格式,習慣等,這些規范類的東西我們交由統一設置的來做這件事