Dash documentation integration for Visual Studio Code
Dash is an API Documentation Browser and Code Snippet Manager for MacOS
Also support Zeal and Velocity.
Type cmd + shift + p
to launch command palette and choose Extensions: Install Extension
. Search this package and install.
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.
This plugin supports almost all docset configuration based on Dash Mapping
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 |
Language | Dash Docset Keys | Docset Setting | Language Plugin |
---|---|---|---|
Elm | elm | dash.languageIdToDocsetMap.elm | link |
React | react | dash.languageIdToDocsetMap.javascriptreact | link |
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"] |
You can find dash docset key in Dash application.
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.
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
]
...
}
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
Thank you for these awesome contributors
MIT Β© Budi Irawan