Skip to content

Dash, Zeal and Velocity documentation integration in Visual Studio Code πŸ”ŽπŸ“–

License

Notifications You must be signed in to change notification settings

deerawan/vscode-dash

Repository files navigation

Visual Studio Code Dash

Dash documentation integration for Visual Studio Code

Dash is an API Documentation Browser and Code Snippet Manager for MacOS

Also support Zeal and Velocity.

Build Status Coverage Status All Contributors

vscode dash

Installation

Type cmd + shift + p to launch command palette and choose Extensions: Install Extension. Search this package and install.

Usage

Get the text under your cursor or selected first:

  • Pressing ctrl + h. It will search for current specific documentation depends on language.
  • Pressing ctrl + alt + h. It will search for all documentation.

No need to select the text:

  • Pressing ctrl + shift + h. It will open dash with current file's docset.
  • Pressing alt + h. It will open dash with custom string and current file's docset.

Supported Docsets

This plugin supports almost all docset configuration based on Dash Mapping

Language to docset matching

This plugin supports language to docset mapping.

For other languages that are not supported by default in VS Code, you probably need to install language plugins first in order to allow VS Code to detect the language.

Language Dash Docset Keys Docset Setting Language Plugin
Ansible ansible dash.languageIdToDocsetMap.ansible, dash.languageIdToDocsetMap.ansible-advanced link
C++ cpp,net,boost,qt,cvcpp,cocos2dx,c,manpages dash.languageIdToDocsetMap.cpp link
C# net,mono,unity3d dash.languageIdToDocsetMap.csharp
Clojure clojure dash.languageIdToDocsetMap.clojure
Cmake cmake dash.languageIdToDocsetMap.cmake link
CoffeeScript coffee dash.languageIdToDocsetMap.coffee
CSS css,bootstrap,foundation,less,awesome,
cordova,phonegap
dash.languageIdToDocsetMap.css
Dart dartlang,polymerdart,angulardart dash.languageIdToDocsetMap.dart link
Elixir elixir dash.languageIdToDocsetMap.elixir link
Erlang erlang dash.languageIdToDocsetMap.erlang
Go go,godoc dash.languageIdToDocsetMap.go link
Gradle gradle dash.languageIdToDocsetMap.gradle link
Haskell haskell dash.languageIdToDocsetMap.haskell
Haml haml dash.languageIdToDocsetMap.haml link
Haxe haxe dash.languageIdToDocsetMap.haxe link
HTML html,svg,css,bootstrap,foundation,
awesome,statamic,javascript,jquery,jqueryui,
jquerym,angularjs,backbone,marionette,
meteor,moo,prototype,ember,lodash,
underscore,sencha,extjs,knockout,
zepto,cordova,phonegap,yui
dash.languageIdToDocsetMap.html
Jade jade dash.languageIdToDocsetMap.jade
Java java,javafx,grails,groovy,playjava,spring,
cvj,processing
dash.languageIdToDocsetMap.java link
JavaScript javascript,jquery,jqueryui,jquerym,react,
angularjs,backbone,marionette,meteor,
sproutcore,moo,prototype,bootstrap,
foundation,lodash,underscore,ember,
sencha,extjs,titanium,knockout,zepto,
yui,d3,svg,dojo,coffee,nodejs,express,
grunt,mongoose,moment,require,
awsjs,jasmine,sails,sinon,chai,
html,css,cordova,phonegap,unity3d
dash.languageIdToDocsetMap.javascript
Julia julia dash.languageIdToDocsetMap.julia link
Kotlin androidktx,kotlin dash.languageIdToDocsetMap.kotlin link
Latex latex dash.languageIdToDocsetMap.latex link
Less less dash.languageIdToDocsetMap.less
Lua lua,corona dash.languageIdToDocsetMap.lua link
Markdown markdown dash.languageIdToDocsetMap.markdown
Objective-C iphoneos,macosx,watchos,tvos,
appledoc,cocos2d,cocos3d,
kobold2d,sparrow,c,manpages
dash.languageIdToDocsetMap.objective-c
Perl perl,manpages dash.languageIdToDocsetMap.perl
PHP php,wordpress,drupal,zend,laravel,yii,joomla,ee,
codeigniter,cakephp,phpunit,symfony,typo3,
twig,smarty,craft,phpp,html,statamic,mysql,
sqlite,mongodb,psql,redis
dash.languageIdToDocsetMap.php
Processing processing dash.languageIdToDocsetMap.pde link
Puppet puppet dash.languageIdToDocsetMap.puppet link
Python python,django,twisted,sphinx,flask,tornado,
sqlalchemy,numpy,scipy,salt,pandas,matplotlib,cvp
dash.languageIdToDocsetMap.python link
R r dash.languageIdToDocsetMap.r
Ruby ruby,rubygems,rails dash.languageIdToDocsetMap.ruby link
Rust rust dash.languageIdToDocsetMap.rust link
Sass sass,compass,bourbon,neat,susy,css dash.languageIdToDocsetMap.sass
Scala scala,akka,playscala dash.languageIdToDocsetMap.scala
Shell Scripts bash,manpages dash.languageIdToDocsetMap.shellscript
SQL mysql,sqlite,psql dash.languageIdToDocsetMap.sql
Stylus stylus dash.languageIdToDocsetMap.stylus link
Swift swift,iphoneos,macosx,watchos,tvos,appledoc dash.languageIdToDocsetMap.swift link
Tcl tcl dash.languageIdToDocsetMap.tcl link
Terraform terraform dash.languageIdToDocsetMap.terraform link
TypeScript typescript dash.languageIdToDocsetMap.typescript
YAML chef,ansible dash.languageIdToDocsetMap.yaml

Added docset in this plugin

Language Dash Docset Keys Docset Setting Language Plugin
Elm elm dash.languageIdToDocsetMap.elm link
React react dash.languageIdToDocsetMap.javascriptreact link

File name to docset matching

This plugin also supports file name matching to docset, this is useful to target docset for any specific file name such as docker.yml or vagrantfile.

NOTE: You can use glob pattern to define the file name

File Name Dash Docset Keys Docset Setting
[dD]ocker* docker dash.fileNameToDocsetMap["docker.yml"]
vagrantfile vagrant dash.fileNameToDocsetMap["vagrantfile"]
gruntfile.js grunt dash.fileNameToDocsetMap["gruntfile.js"]
gulpfile.js gulp dash.fileNameToDocsetMap["gulpfile.js"]
*.ino arduino dash.fileNameToDocsetMap["*.ino"]

What is Dash Docset Keys?

You can find dash docset key in Dash application.

dash docset key

Change Docset Configuration

You can change docset in settings.json or pressing cmd + ,. Every configuration start with dash.docset. See Docset Setting column in Supported Docset table above.

Example Case:

Based on default docset configuration, if we search in typescript files (.ts), it will search in typescript docset. But now we want to make it able to search in javascript docset too.

Type cmd + , then we change typescript docset by adding new dash docset key "javascript". So, whenever we search from typescript files, it will search in typescript and javascript docset.

The result will look like below:

// settings.json, add lines below
"dash.languageIdToDocsetMap": {
  ...,
  "typescript": [
    "typescript",
    "javascript" // we add new dash docset key here
  ]
  ...
}

Change Keyboard Shortcut

You can bind default shortcut to another shortcut keys

Choose in top menu Code -> Preferences -> Keyboard Shortcuts or using shortcuts cmd + K, cmd + S

Add one or two lines below

{ "key": "your_shortcut", "command": "extension.dash.specific" }, // search selection in corresponding docset
{ "key": "your_shortcut", "command": "extension.dash.all" } // search in all docset
{ "key": "your_shortcut", "command": "extension.dash.emptySyntax" } // open dash with current file's docset open
{ "key": "your_shortcut", "command": "extension.dash.searchSyntax" } // open dash with custom string and current file's docset

Contributors

Thank you for these awesome contributors

Budi Irawan
Budi Irawan

πŸ’» πŸ“–
Dima Granetchi
Dima Granetchi

πŸ’» πŸ“–
Logan Saso
Logan Saso

πŸ’» πŸ“–
Zhongren Shao
Zhongren Shao

πŸ’» πŸ“–
dingweifeng
dingweifeng

πŸ“–
Seth Bromberger
Seth Bromberger

πŸ’» πŸ“–
br1anchen
br1anchen

πŸ’»
Won Kim
Won Kim

πŸ’»
Cuyler Stuwe
Cuyler Stuwe

πŸ’»
Cahya Pribadi
Cahya Pribadi

πŸ’»
Marko Kajzer
Marko Kajzer

πŸ’»
akdir
akdir

πŸ’»

License

MIT Β© Budi Irawan