第一部分: https://www.cnblogs.com/cgzl/p/8450179.html
本文是基於Windows10的.
Debugging javascript
開啟wwwroot/js/site.js, 寫一段簡單的js程式碼:
(function ($) { $(document).ready(function () { $('#myButton').on('click', function() { alert('Hello world!'); }); }); })(jQuery);
可以設定斷點, 但是由於整個專案是用於伺服器端的. 而js檔案是用於客戶端開發的, 我們需要一種方法來除錯js檔案.
這裡我們就需要安裝一個擴充套件: Chrome Debugger.
然後開啟launch.json, 可以直接開啟檔案, 也可以如下圖方式開啟:
點選右下角的Add Configuration:
修改配置的埠和目錄:
"configurations": [ { "type": "chrome", "request": "launch", "name": "Launch Chrome", "url": "http://localhost:5000", "webRoot": "${workspaceFolder}/wwwroot" },
在About.cshtml裡面新增一個button:
<button id="myButton" class="btn btn-default">My Button</button>
在Debugger中執行Launch Chome:
執行後, 彈出瀏覽器, 但是頁面無法顯示:
這是因為Chrome Debugger僅僅執行客戶端的程式碼. 而伺服器段的程式碼買有執行.
所以還需要在另外的命令列執行dotnet run命令.
然後再次執行Chrome Launch. 這次執行成功了
點選About頁面的My Button, 斷點並沒有響應. 切換到內碼表面:
可以看到斷點被灰掉了, 這是因為debugger並未找到這段程式碼.
這是因為dotnet run執行的是Production環境:
而看下程式碼_Layout.cshtml:
程式只有在Development環境下才會包含site.js.
這時可以開啟bundleconfig.json, 把sourceMap屬性設定成true. 並且安裝這個包:
dotnet add package BuildBundlerMinifier
執行dotnet clean 和 dotnet build
這是一種辦法, 但是我更想直接除錯site.js, 所以可以在命令列設定一下臨時的環境變數:
set ASPNETCORE_ENVIRONMENT=Development
然後執行dotnet run.
這時重新整理後再點選按鈕, 就可以觸發斷點了:
除此之外還可以使用瀏覽器自帶的debugger.
Debug Typescript
在wwwroot/js裡面新增test.ts:
class Test { constructor(private msg: string) { } show() { alert(this.msg); } }
然後需要為專案配置一下Typescript:
建立一個tsconfig.json檔案:
{ "compileOnSave": true, "compilerOptions": { "target": "es5", "sourceMap": true, "module": "commonjs" }, "include": [ "wwwroot/js/*.ts" ] }
這時候, ts檔案還不能編譯, 因為typescript還沒有被安裝. 也就是說tsc命令還不能用.
所以需要安裝typescript:
npm install typescript -g
這時在專案目錄執行tsc命令就可以生成js檔案了:
但是, 如果更改了test.ts檔案, 儲存後. 並沒有生成新的js檔案. 這是因為在儲存的時候vscode不知道應該做什麼.
可以在專案build之前進行tsc這個命令, 所以修改csproj檔案, 新增如下程式碼:
<Target Name="PrecompileScript" BeforeTargets="BeforeBuild"> <Exec Command="tsc" /> </Target>
然後執行dotnet build, 就可以看到生成了新的test.js檔案.
運算元據庫
針對sqlite, 沒有太好的辦法, 到官方網站下載工具, 使用命令列sqlite3.
針對sqlserver, 需要安裝一個mssql擴充套件:
我本機有一個localdb例項的資料庫.
在專案建立一個test.sql檔案, 開啟檔案後會自動安裝sql tools service:
選擇連線字串, MSSQL Connect:
因為現在還沒有建立任何連線字串, 所以這時它會讓你建立一個:
首先輸入Server Name:
然後輸入資料庫名:
選擇登陸方式, 我選擇integrated:
最後輸入這個檔案的名字: SalesDB
確定後, VSCode就會開始嘗試連線該資料庫, 成功後會有提示:
vscode右下角狀態列也會有顯示:
這時再寫sql語句就會有智慧提示:
然後執行這個sql語句: 可以先看看有哪些命令:
Ctrl+Shift+E是執行sql語句的命令. 執行後的結果如圖:
上面所配置的Sql連線字串實際上是儲存在了UserSettings裡面:
對於mysql和postgresql等, 需要安裝vscode-database這個擴充套件. 這裡就先不介紹了.
關於擴充套件
建立新檔案: Advanced New File 擴充套件
搜尋並安裝advanced new file擴充套件, 這兩個哪個都行. 我安裝的是帶橫線的那個:
通過Command Palette可以看到建立新檔案的快捷鍵是Ctrl+Alt+N.
然後選擇相對的路徑:
選擇後輸入檔名即可, 這時可以帶著目錄結構:
如果目錄結構中的目錄不存在, 那麼它也會自動被建立. 點選Enter就會建立新檔案個所需的目錄.
ESLint擴充套件
首先安裝ESLint:
如果你沒有安裝eslint庫的話還需要通過npm來進行全域性安裝:
npm install -g eslint
然後需要新增一個eslint的配置檔案, 選擇Create .eslintrc.json檔案:
生成的檔案如下:
這時就可以看到eslint擴充套件起作用了:
具體ESLint的內容, 請檢視官方文件.
TSLint擴充套件
安裝tslint擴充套件:
通過npm安裝tslint:
npm install -g tslint
然後看一下tslint有哪些命令:
選擇建立tslint.json檔案:
找一個ts檔案試一下:
tslint也起作用了.
Bower擴充套件
安裝Bower擴充套件
安裝好後, 在Command Palette中輸入並選擇Bower命令會出下如下選項:
如果你使用bower, 那麼這裡的命令你應該比較熟悉.
這裡比較有用的一個命令是Bower Search and Install. 選擇後, 搜尋一個包例如 underscore:
然後選擇Install as Dependency:
安裝後, 該包會出現在bower.json檔案中.
XML格式化擴充套件
vscode在不安裝擴充套件的情況下xml檔案是無法被自動格式化的.
可以安裝擴充套件Xml Tools:
安裝後, 檢視它都有哪些命令:
這時, 如果想格式化xml檔案, 直接使用vscode預設的格式化檔案命令(Shift+Alt+F)即可, 它會按照專案的配置進行格式化.
其他型別的檔案如果需要格式化, 可以在擴充套件市場搜尋安裝, 自行研究一下即可.
Rest Client擴充套件
安裝Rest Client擴充套件:
然後建立一個檔案, 例如叫 httptest, 之後選擇該檔案的language mode:
然後選擇Http:
然後在檔案中寫一個http的地址:
寫完http地址後, 在地址的上方會出現一個連結: Send Request, 點選這個連結, 就會傳送請求, 請求響應後, 在右側可以看到返回的結果:
在這裡還可以新增請求的各種引數:
請求的結果可以儲存到檔案:
同樣這裡可以傳送 POST, PUT, DELETE等請求.
VSCode的擴充套件太多了, 可以選擇Poppular Extensions或者Recommend Extensions去安裝並研究一下.
這個文章就寫這些了, 謝謝