Visual Studio Code 不完全使用指南


 

介紹


Visual Studio Code 是“巨硬”基於 Electron 開發的一款輕量級編輯器,主打 web 開發,支持的語言包括:

  • JavaScript
  • C#
  • JSON
  • HTML
  • Markdown
  • TypeScript
  • CSS, Sass, Less
  • DockerFile
  • Swift
  • Groovy
  • 不斷增加中…

快速導航


VS Code 提供了類似於 Sublime 的多功能輸入框,Command + P 即可調用出

help

不使用前綴字符,可以進行工程內的文件搜索;輸入前綴字符 ? 可以查看所有命令列表(全局命令 + 編輯器命令),其中 > 前綴的使用最為頻繁,通過它我們可以找到所有的命令,excited!

編輯功能


  • 多光標選取 Alt + 鼠標單擊
  • 逐步選中其它相同的symbol Command + D
  • 全選相同symbol Command + F12
  • 代碼格式化 Shift + Alt + F
  • 重構(重命名)Symbol F2
  • 查找所有引用了選中symbol的代碼 Shift + F12
  • find-ref

  • 跳轉到symbol的定義處 F12

  • 瞥見下symbol的定義出(在該symbol下方展開面板,顯示定義處代碼,非常有用)Alt + F12
  • peek-definition
  • 跳轉到光標上一次(下一次)位置(誤操作的回退方案,非常有用) Command + Left / Command + Right

 

語法提示


VS Code 的語法提示之強大令人發指,對於支持的語言有着很好的支持,同時對於函數方法也有參數的提示
hint

對於業界知名框架與庫,也可以通過強大的 *.d.ts 文件來支持語法提示、參數提示,如我在項目中使用了 angular,鍵入 angular 命名空間,1s后出現小燈泡,然后點擊它,選中”download…”后編輯器就開始后台下載了,成功后會有提示
angular-hint

jQuery, Backbone, Underscore, Lodash, Node.js, Express, Restify, Async 等等知名開源框架跟庫的提示都可以直接通過 tsd 來管理,非常方便

無論通過小燈泡點擊安裝的還是通過tsd安裝的ts文件,都會被放置在工程的根路徑下的typings文件夾中,方便查看已有的提示插件

 

開啟ES6語法支持


VS Code 默認支持 ES5 的語法,你的代碼如果過用到了ES6的特性,又不想被內建的lint工具提示語法錯誤的話,你需要手動開啟。在項目Proj根目錄下新建jsoconfig.js文件,添加如下代碼:

    {
        "compilerOptions": {
            "target": "ES6"
        }
    }

保存該文件 –> 重啟編輯器,ES6 語法在該項目就已支持,內建lint工具也不會再提示錯誤了

調試Node.js


在本地安裝 Mono 並將其加入環境變量中后,可以調試 Node.js 程序,調試操作類似於 WebStorm,先要進行debug的配置工作,通過切換到 Debug 面板,點擊綠色啟動按鈕,這時編輯器會在工程根文件夾下新加 .setting 文件夾,Node.js的啟動/調試配置文件、Task的配置文件都會放置在此。

這里Node.js配置的文件名為 launch.json

    {
        "version": "0.1.0",
        // List of configurations. Add new configurations or edit existing ones.
        // ONLY "node" and "mono" are supported, change "type" to switch. "configurations": [ { // Name of configuration; appears in the launch configuration drop down menu. "name": "Launch env", // Type of configuration. Possible values: "node", "mono". "type": "node", // Workspace relative or absolute path to the program. "program": "env", // Automatically stop program after launch. "stopOnEntry": false, // Command line arguments passed to the program. "args": [], // Workspace relative or absolute path to the working directory of the program being debugged. Default is the current workspace. "cwd": ".", // Workspace relative or absolute path to the runtime executable to be used. Default is the runtime executable on the PATH. "runtimeExecutable": null, // Optional arguments passed to the runtime executable. "runtimeArgs": ["--nolazy", "--harmony"], // Environment variables passed to the program. "env": { }, // Use JavaScript source maps (if they exist). "sourceMaps": false, // If JavaScript source maps are enabled, the generated code is expected in this directory. "outDir": null }, { "name": "Attach", "type": "node", // TCP/IP address. Default is "localhost". "address": "localhost", // Port to attach to. "port": 5858, "sourceMaps": false } ] }
注:Node.js代碼中含有ES6特性的代碼,需要開啟"--harmony",因此 `runtimeArgs` 需要添加一項 "--harmony"

常用的添加環境變量,添加應用參數,node的執行參數等操作都能在這里進行修改,配置完成后再次點擊綠色的啟動按鈕,VSCode就可以開始啟動服務了,同時監聽了5858端口進行調試操作

debugging

VSCode Debug 操作與瀏覽器開發者工具、Webstorm調試工具累似,但是自身沒有提供命令行終端的信息顯示,因此在調試時會打開系統的默認shell進行程序運行的信息顯示

支持Markdown


強大的 Sublime Text 2/3 同樣支持Markdown語法高亮,但是預覽功能卻需要插件來實現,可以一鍵在瀏覽器中預覽。而 VS Code 自帶預覽功能,Command + Shift + v 可以進行原生地預覽,通過開啟兩欄編輯器可以實現實時預覽

previewing

同其他獨立 Markdown Editor (Mou、MacDown、馬克飛��等等)一樣,VS Code同樣可以設置 .md 文件的預覽樣式,通過快捷鍵組 Command + , 可以快速打開 User Settings 文件,添加如下字段

"markdown.styles": [
    "https://jasonm23.github.io/markdown-css-themes/screen.css"
]

markdown.styles 字段值是一個樣式URL的數組,通過指定,我們的預覽便在外部樣式表(.css文件)的作用下改變了樣式,對於顏控黨來說美膩的皮膚總是能為書寫(開發)帶來額外的動力

繽彩主題請戳我

 

配置任務


VS Code 提供了配置 task.json 文件來快捷鍵運行 Task 的功能,如 Markdown -> HTML:

    {
        "version": "0.1.0",
        "command": "marked",
        "isShellCommand": true,
        "args": ["sample.md", "-o", "sample.html"] }

配置好后在markdown文件焦點處按下快捷鍵 “Command + Shift + B”即可編譯轉換,類似也可以運行其他可以通過命令號工具調用的工具,如lessc、gulp、grunt等等

個人覺得目前Task功能很雞肋,連基本的 watcher 功能都要依賴 Gulp 來實現,而大多數任務通過簡單的命令行調用即可,書寫配置文件有時候反而把簡單的事搞復雜了,況且 package.jsonscripts 字段已經賦予了項目通過配置來運行任務的功能了

    "scripts": {
        "start": "NODE_ENV=production node --harmony server-side/server.js",
        "dev": "NODE_ENV=development node --debug --harmony server-side/server.js",
        "pm2": "NODE_ENV=production pm2 start server-side/server.js --node-args=\"--harmony\"",
        "pm2-dev": "NODE_ENV=development pm2 start server-side/server.js --node-args=\"--harmony\"",
        "local": "NODE_ENV=local nodemon --debug --harmony server-side/server.js",
        "test": "npm run test-jshint && npm run test-mocha",
        "test-mocha": "NODE_ENV=test mocha --harmony ./server-side/**/*.spec.js",
        "test-jshint": "jshint -c .jshintrc server-cd side/**/*.js --exclude server-side/**/*.spec.js --reporter node_modules/jshint-stylish/stylish.js",
        "test-mocha-watch": "NODE_ENV=test mocha --watch --harmony ./server-side/**/*.spec.js" },

 

版本控制


VS Code 支持Git版本控制,提供了基本的stage、commit、fetch、pull、push等Git常用功能,設置項默認開啟了后台的 auto git fetch,右側面板的第三個便是Git管理工具的UI了,點開后當前工程文件的 status 一目了然,通過點擊加號就可以把變更的文件 stage 。
編輯器提供的Commit Message輸入框還可以讓開發者填寫多行提交信息(命令行工具不支持)
git-status

它提供了建議的Color Diff工具,清晰地讓開發者看到文件變更的差異,提高了diff的效率
git-diff

編輯器底部工具欄左下角清晰地顯示了當前開發所處的分支
git-branches

點擊當前分支,編輯器會彈出所有(遠程、本地)分支以供切換,人性化十足

仍有不足


  • 插件系統的缺乏
  • 編輯器配色缺乏
  • 仍需要更多語言的支持
  • 本地文件歷史快照缺乏
  • 光標位置歷史的前進、后退

  • ^_^ 歡迎補充


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM