vscode-dash

Dash and Zeal documentation integration in Visual Studio Code

Github stars Tracking Chart

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

License

MIT © Budi Irawan

Main metrics

Overview
Name With Ownersparanoid/7z
Primary LanguageHTML
Program languageTypeScript (Language Count: 7)
Platform
License:GNU Lesser General Public License v3.0
所有者活动
Created At2012-09-17 07:50:35
Pushed At2024-12-11 16:22:25
Last Commit At2024-12-12 00:12:33
Release Count19
Last Release Namev19.00 (Posted on )
First Release Namev9.21 (Posted on )
用户参与
Stargazers Count1.3k
Watchers Count48
Fork Count167
Commits Count170
Has Issues Enabled
Issues Count33
Issue Open Count2
Pull Requests Count35
Pull Requests Open Count0
Pull Requests Close Count25
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private