Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/deerawan/vscode-dash

Dash, Zeal and Velocity documentation integration in Visual Studio Code 🔎📖
https://github.com/deerawan/vscode-dash

dash visual-studio-code visual-studio-code-extension zeal

Last synced: 6 days ago
JSON representation

Dash, Zeal and Velocity documentation integration in Visual Studio Code 🔎📖

Awesome Lists containing this project

README

        

# Visual Studio Code Dash

[Dash](https://kapeli.com/dash) documentation integration for [Visual Studio Code](https://code.visualstudio.com/)

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

Also support [Zeal](https://zealdocs.org/) and [Velocity](https://velocity.silverlakesoftware.com/).

[![Build Status](https://travis-ci.org/deerawan/vscode-dash.svg?branch=master)](https://travis-ci.org/deerawan/vscode-dash) [![Coverage Status](https://coveralls.io/repos/deerawan/vscode-dash/badge.svg?branch=master&service=github)](https://coveralls.io/github/deerawan/vscode-dash?branch=master)
[![All Contributors](https://img.shields.io/badge/all_contributors-12-orange.svg?style=flat-square)](#contributors-)

![vscode dash](https://raw.githubusercontent.com/deerawan/vscode-dash/master/images/vscode-dash.gif)

## 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](https://kapeli.com/dash_plugins)

### 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](https://marketplace.visualstudio.com/search?target=VSCode&category=Languages&sortBy=Downloads)
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](https://marketplace.visualstudio.com/items?itemName=haaaad.ansible)
C++ | cpp,net,boost,qt,cvcpp,cocos2dx,c,manpages | dash.languageIdToDocsetMap.cpp | [link](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
C# | net,mono,unity3d | dash.languageIdToDocsetMap.csharp
Clojure | clojure | dash.languageIdToDocsetMap.clojure
Cmake | cmake | dash.languageIdToDocsetMap.cmake | [link](https://marketplace.visualstudio.com/items?itemName=twxs.cmake)
CoffeeScript | coffee | dash.languageIdToDocsetMap.coffee
CSS | css,bootstrap,foundation,less,awesome,
cordova,phonegap | dash.languageIdToDocsetMap.css
Dart | dartlang,polymerdart,angulardart | dash.languageIdToDocsetMap.dart | [link](https://marketplace.visualstudio.com/items?itemName=DanTup.dart-code)
Elixir | elixir | dash.languageIdToDocsetMap.elixir | [link](https://marketplace.visualstudio.com/items?itemName=mjmcloug.vscode-elixir)
Erlang | erlang | dash.languageIdToDocsetMap.erlang
Go | go,godoc | dash.languageIdToDocsetMap.go | [link](https://marketplace.visualstudio.com/items?itemName=lukehoban.Go)
Gradle | gradle | dash.languageIdToDocsetMap.gradle | [link](https://marketplace.visualstudio.com/items?itemName=naco-siren.gradle-language)
Haskell | haskell | dash.languageIdToDocsetMap.haskell
Haml | haml | dash.languageIdToDocsetMap.haml | [link](https://marketplace.visualstudio.com/items?itemName=karunamurti.haml)
Haxe | haxe | dash.languageIdToDocsetMap.haxe | [link](https://marketplace.visualstudio.com/items?itemName=nadako.vshaxe)
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](https://marketplace.visualstudio.com/items?itemName=redhat.java)
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](https://marketplace.visualstudio.com/items?itemName=julialang.language-julia)
Kotlin | androidktx,kotlin | dash.languageIdToDocsetMap.kotlin | [link](https://marketplace.visualstudio.com/items?itemName=mathiasfrohlich.Kotlin)
Latex | latex | dash.languageIdToDocsetMap.latex | [link](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
Less | less | dash.languageIdToDocsetMap.less
Lua | lua,corona | dash.languageIdToDocsetMap.lua | [link](https://marketplace.visualstudio.com/items?itemName=gccfeli.vscode-lua)
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](https://marketplace.visualstudio.com/items?itemName=Tobiah.language-pde)
Puppet | puppet | dash.languageIdToDocsetMap.puppet | [link](https://marketplace.visualstudio.com/items?itemName=Borke.Puppet)
Python | python,django,twisted,sphinx,flask,tornado,
sqlalchemy,numpy,scipy,salt,pandas,matplotlib,cvp | dash.languageIdToDocsetMap.python | [link](https://marketplace.visualstudio.com/items?itemName=tht13.python)
R | r | dash.languageIdToDocsetMap.r
Ruby | ruby,rubygems,rails | dash.languageIdToDocsetMap.ruby | [link](https://marketplace.visualstudio.com/items?itemName=rebornix.Ruby)
Rust | rust | dash.languageIdToDocsetMap.rust | [link](https://marketplace.visualstudio.com/items?itemName=saviorisdead.RustyCode)
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](https://marketplace.visualstudio.com/items?itemName=sysoev.language-stylus)
Swift | swift,iphoneos,macosx,watchos,tvos,appledoc | dash.languageIdToDocsetMap.swift | [link](https://marketplace.visualstudio.com/items?itemName=rlovelett.vscode-swift-language)
Tcl | tcl | dash.languageIdToDocsetMap.tcl | [link](https://marketplace.visualstudio.com/items?itemName=rashwell.tcl)
Terraform | terraform | dash.languageIdToDocsetMap.terraform | [link](https://marketplace.visualstudio.com/items?itemName=mauve.terraform)
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](https://marketplace.visualstudio.com/items?itemName=sbrink.elm)
React | react | dash.languageIdToDocsetMap.javascriptreact | [link](https://marketplace.visualstudio.com/items?itemName=TwentyChung.jsx)

### 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](https://raw.githubusercontent.com/deerawan/vscode-dash/master/images/dash-docset-key.jpg)

## 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

```json
{ "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](https://budiirawan.com)