GithubHelp home page GithubHelp logo

waldyrious / vscode_deno Goto Github PK

View Code? Open in Web Editor NEW

This project forked from denoland/vscode_deno

0.0 2.0 0.0 23.66 MB

Visual Studio Code plugin for Deno

Home Page: https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno

License: MIT License

TypeScript 95.56% CSS 3.39% JavaScript 1.06%

vscode_deno's Introduction

Deno for Visual Studio Code

GitHub Workflow Status

Visual Studio Marketplace Version Visual Studio Marketplace Installs Visual Studio Marketplace Downloads Visual Studio Marketplace Rating (Stars)

This extension adds support for using Deno with Visual Studio Code, powered by the Deno language server.

⚠️ Important: You need to have a version of Deno CLI installed (v1.7 or later) and available in your path before attempting to use this extension. Check here for instructions on how to install the Deno CLI.

Basic Usage of the Extension

Features

  • Type checking for JavaScript and TypeScript, including quick fixes, hover cards, intellisense, and more.
  • Integrates with the version of the Deno CLI you have installed, ensuring there is alignment between your editor and the Deno CLI.
  • Resolution of modules in line with Deno CLI's module resolution strategy allows caching of remote modules in Deno CLI's cache.
  • Integration to Deno CLI's linting functionality, including inline diagnostics and hover cards.
  • Integration to Deno CLI's formatting functionality.
  • Allow specifying of import maps and TypeScript configuration files that are used with the Deno CLI.

Usage

  1. Install the Deno CLI, available in your path.
  2. Install this extension.
  3. Open the VS Code command palette with Ctrl+Shift+P, and run the Deno: Initialize Workspace Configuration command.

We recognize that not every TypeScript/JavaScript project that you might work on in VSCode uses Deno — therefore, by default, this extension will only apply the Deno language server when the setting deno.enable is set to true. This can be done via editing the settings or using the command Deno: Initialize Workspace Configuration.

While you can enable Deno globally, you probably only want to do that if every JavaScript/TypeScript workspace you work on in VSCode is a Deno based one.

Commands

The extension provides several commands:

  • Deno: Cache - instructs Deno to fetch and cache all the dependencies of the current file open in the editor. This is similar to doing deno cache on the command line. Deno will not automatically fetch and cache remote dependencies.

    ℹ️   If there are missing dependencies in a module, the extension will provide a quick fix to fetch and cache those dependencies, which invokes this command for you.

  • Deno: Initialize Workspace Configuration - will enabled Deno on the current workspace and allow you to choose to enable linting and Deno unstable API options.

  • Deno: Language Server Status - displays a page of information about the status of the Deno Language Server. Useful when submitting a bug about the extension or the language server.

  • Deno: Welcome - displays the information document that appears when the extension is first installed.

Formatting

The extension provides formatting capabilities for JavaScript, TypeScript, JSX, and TSX documents. When choosing to format a document or setting up a default formatter for these type of files, the extension should be listed as an option.

ℹ️   It does not currently provide format-on-paste or format-on-type capabilities.

Configuration

You can control the settings for this extension through your VS Code settings page. You can open the settings page using the Ctrl+, keyboard shortcut. The extension has the following configuration options:

  • deno.enable: Controls if the Deno Language Server is enabled. When enabled, the extension will disable the built-in VSCode JavaScript and TypeScript language services, and will use the Deno Language Server (deno lsp) instead. boolean, default false
  • deno.codeLens.implementations: Enables or disables the display of code lens information for implementations for items in the code. boolean, default false
  • deno.codeLens.references: Enables or disables the display of code lens information for references of items in the code. boolean, default false
  • deno.codeLens.referencesAllFunctions: Enables or disables the display of code lens information for all functions in the code. Requires deno.codeLens.references to be enabled as well. boolean, default false
  • deno.config: The file path to a tsconfig.json file. This is the equivalent to using --config on the command line. The path can be either be relative to the workspace, or an absolute path. string, default null, examples: ./tsconfig.json, /path/to/tsconfig.json, C:\path\to\tsconfig.json
  • deno.importMap: The file path to an import map. This is the equivalent to using --import-map on the command line. Import maps provide a way to "relocate" modules based on their specifiers. The path can either be relative to the workspace, or an absolute path. string, default null, examples: ./import-map.json, /path/to/import-map.json, C:\path\to\import-map.json
  • deno.lint: Controls if linting information will be provided by the Deno Language Server. boolean, default false
  • deno.unstable: Controls if code will be type checked with Deno's unstable APIs. This is the equivalent to using --unstable on the command line. boolean, default false

Contribute

We appreciate your help!

To build the extension locally, clone this repository and run the following steps:

  1. Open this folder in VS Code.
  2. Run npm i.
  3. Run npm run compile.
  4. Run the Launch Client launch task from the VSCode debug menu.

Most changes and feature enhancements do not require changes to the extension though, as most information comes from the Deno Language Server itself, which is integrated into the Deno CLI. Please check out the contribution guidelines for the Deno CLI.

Thanks

This project was inspired by justjavac/vscode-deno and axetroy/vscode-deno. Thanks for their contributions.

License

The MIT License

vscode_deno's People

Contributors

justjavac avatar lucacasonato avatar kitsonk avatar axetroy avatar ry avatar bartlomieju avatar cgqaq avatar zhmushan avatar dependabot[bot] avatar kirlovon avatar jsejcksn avatar qu4k avatar iugo avatar stanislavstrelnikov avatar nufflee avatar msal4 avatar parrotdance avatar liamolucko avatar kevinbioj avatar jwebcoder avatar flaque avatar domoritz avatar denisbrodbeck avatar danilosampaio avatar johnstoncode avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.