{"id":13485190,"url":"https://github.com/denoland/vscode_deno","last_synced_at":"2025-04-12T04:40:49.042Z","repository":{"id":37012615,"uuid":"262098081","full_name":"denoland/vscode_deno","owner":"denoland","description":"Visual Studio Code plugin for Deno","archived":false,"fork":false,"pushed_at":"2025-04-02T16:40:48.000Z","size":25545,"stargazers_count":1514,"open_issues_count":102,"forks_count":153,"subscribers_count":29,"default_branch":"main","last_synced_at":"2025-04-05T02:01:37.564Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/denoland.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-07T16:10:02.000Z","updated_at":"2025-04-04T04:00:41.000Z","dependencies_parsed_at":"2023-12-21T18:43:00.836Z","dependency_job_id":"e979d48d-e4e2-474d-b3bf-2c28c80c396c","html_url":"https://github.com/denoland/vscode_deno","commit_stats":{"total_commits":479,"total_committers":61,"mean_commits":7.852459016393443,"dds":0.7828810020876826,"last_synced_commit":"3ccdd3d0649e5d7b56c3af3bb20fa6c65b3c61cc"},"previous_names":[],"tags_count":100,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denoland%2Fvscode_deno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denoland%2Fvscode_deno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denoland%2Fvscode_deno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denoland%2Fvscode_deno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/denoland","download_url":"https://codeload.github.com/denoland/vscode_deno/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247640512,"owners_count":20971555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T17:01:49.970Z","updated_at":"2025-04-12T04:40:49.013Z","avatar_url":"https://github.com/denoland.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Tools","基础设施","核心模块与框架（按需求挑）"],"sub_categories":["Assistants","Deno 源","开发工具（提升效率用）","XML"],"readme":"# Deno for Visual Studio Code\n\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/denoland/vscode_deno/ci.yml?branch=main)\n\n![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/denoland.vscode-deno)\n![Visual Studio Marketplace Installs](https://img.shields.io/visual-studio-marketplace/i/denoland.vscode-deno)\n![Visual Studio Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/denoland.vscode-deno)\n![Visual Studio Marketplace Rating (Stars)](https://img.shields.io/visual-studio-marketplace/stars/denoland.vscode-deno)\n\n\u003cimg align=\"right\" src=https://raw.githubusercontent.com/denoland/vscode_deno/main/deno.png height=\"150px\"\u003e\n\nThis extension adds support for using [Deno](https://deno.com/) with Visual\nStudio Code, powered by the Deno language server.\n\n\u003e ⚠️ **Important:** You need to have a version of Deno CLI installed (v1.13.0 or\n\u003e later). The extension requires the executable and by default will use the\n\u003e environment path. You can explicitly set the path to the executable in Visual\n\u003e Studio Code Settings for `deno.path`.\n\u003e\n\u003e [Check here](https://docs.deno.com/runtime/) for instructions on how to\n\u003e install the Deno CLI.\n\n![Basic Usage of the Extension](./screenshots/basic_usage.gif)\n\n## Features\n\n- Type checking for JavaScript and TypeScript, including quick fixes, hover\n  cards, intellisense, and more.\n- Integrates with the version of the Deno CLI you have installed, ensuring there\n  is alignment between your editor and the Deno CLI.\n- Resolution of modules in line with Deno CLI's module resolution strategy\n  allows caching of remote modules in Deno CLI's cache.\n- Integration to Deno CLI's linting functionality, including inline diagnostics\n  and hover cards.\n- Integration to Deno CLI's formatting functionality.\n- Allow specifying of import maps and TypeScript configuration files that are\n  used with the Deno CLI.\n- [Auto completion for imports](./docs/ImportCompletions.md).\n- [Workspace folder configuration](./docs/workspaceFolders.md).\n- [Testing Code Lens](./docs/testing.md).\n- [Provides Tasks for the Deno CLI](./docs/tasks.md).\n\n## Usage\n\n1. Install the Deno CLI.\n2. Install this extension.\n3. Ensure `deno` is available in the environment path, or set its path via the\n   `deno.path` setting in VSCode.\n4. Open the VS Code command palette with `Ctrl+Shift+P`, and run the _Deno:\n   Enable_ command.\n\nWe recognize that not every TypeScript/JavaScript project that you might work on\nin VSCode uses Deno — therefore, by default, this extension will only apply the\nDeno language server when the setting `deno.enable` is set to `true`. This can\nbe done via editing the settings or using the command _Deno: Initialize\nWorkspace Configuration_.\n\nWhile you can enable Deno globally, you probably only want to do that if every\nJavaScript/TypeScript workspace you work on in VSCode is a Deno based one.\n\n## Commands\n\nThe extension provides several commands:\n\n- _Deno: Cache_ - instructs Deno to fetch and cache all the dependencies of the\n  current file open in the editor. This is similar to doing `deno cache` on the\n  command line. Deno will not automatically fetch and cache remote dependencies.\n\n  \u003e ℹ️ \u0026nbsp; If there are missing dependencies in a module, the extension will\n  \u003e provide a quick fix to fetch and cache those dependencies, which invokes\n  \u003e this command for you.\n\n- _Deno: Enable_ - will enable Deno on the current workspace. Alternatively you\n  can create a `deno.json` or `deno.jsonc` file at the root of your workspace.\n- _Deno: Language Server Status_ - displays a page of information about the\n  status of the Deno Language Server. Useful when submitting a bug about the\n  extension or the language server.\n- _Deno: Reload Import Registries Cache_ - reload any cached responses from the\n  configured import registries.\n- _Deno: Welcome_ - displays the information document that appears when the\n  extension is first installed.\n\n## Formatting\n\nThe extension provides formatting capabilities for JavaScript, TypeScript, JSX,\nTSX, JSON and markdown documents. When choosing to format a document or setting\nup a default formatter for these type of files, the extension should be listed\nas an option.\n\nWhen configuring a formatter, you use the extension name, which in the case of\nthis extension is `denoland.vscode-deno`. For example, to configure Deno to\nformat your TypeScript files automatically on saving, you might set your\n`settings.json` in the workspace like this:\n\n```json\n{\n  \"deno.enable\": true,\n  \"deno.lint\": true,\n  \"editor.formatOnSave\": true,\n  \"[typescript]\": { \"editor.defaultFormatter\": \"denoland.vscode-deno\" }\n}\n```\n\nOr if you wanted to have Deno be your default formatter overall:\n\n```json\n{\n  \"deno.enable\": true,\n  \"editor.formatOnSave\": true,\n  \"editor.defaultFormatter\": \"denoland.vscode-deno\"\n}\n```\n\nTroubleshoot: If you choose this option, ensure your **user** settings don't\nhave any language-specific settings set for this. VSCode will add this\nautomatically in some cases:\n\n```js\n// User `settings.json`:\n{\n  // Remove this:\n  \"[typescript]\": {\n    \"editor.defaultFormatter\": \"vscode.typescript-language-features\"\n  }\n}\n```\n\nThe formatter will respect the settings in your Deno configuration file, which\ncan be explicitly set via `deno.config` or automatically detected in the\nworkspace. You can find more information about formatter settings at\n[Deno Tools - Formatter](https://docs.deno.com/runtime/reference/cli/formatter/).\n\n\u003e ℹ️ \u0026nbsp; It does not currently provide format-on-paste or format-on-type\n\u003e capabilities.\n\n## Configuration\n\nYou can control the settings for this extension through your VS Code settings\npage. You can open the settings page using the `Ctrl+,` keyboard shortcut. The\nextension has the following configuration options:\n\n- `deno.enable`: Controls if the Deno Language Server is enabled. When enabled,\n  the extension will disable the built-in VSCode JavaScript and TypeScript\n  language services, and will use the Deno Language Server (`deno lsp`) instead.\n  _boolean, default `false`_\n- `deno.disablePaths`: Controls if the Deno Language Server is disabled for\n  specific paths of the workspace folder. Defaults to an empty list.\n- `deno.enablePaths`: Controls if the Deno Language Server is enabled for only\n  specific paths of the workspace folder.\n- `deno.path`: A path to the `deno` executable. If unset, the extension will use\n  the environment path to resolve the `deno` executable. If set, the extension\n  will use the supplied path. The path should include the executable name (e.g.\n  `/usr/bin/deno`, `C:\\Program Files\\deno\\deno.exe`).\n- `deno.cache`: Controls the location of the cache (`DENO_DIR`) for the Deno\n  language server. This is similar to setting the `DENO_DIR` environment\n  variable on the command line.\n- `deno.cacheOnSave`: Controls if the extension should cache the active\n  document's dependencies on save.\n- `deno.codeLens.implementations`: Enables or disables the display of code lens\n  information for implementations for items in the code. _boolean, default\n  `false`_\n- `deno.codeLens.references`: Enables or disables the display of code lens\n  information for references of items in the code. _boolean, default `false`_\n- `deno.codeLens.referencesAllFunctions`: Enables or disables the display of\n  code lens information for all functions in the code. Requires\n  `deno.codeLens.references` to be enabled as well. _boolean, default `false`_\n- `deno.codeLens.test`: Enables or disables the display of test code lens on\n  Deno tests. _boolean, default `false`_.\n- `deno.codeLens.testArgs`: Provides additional arguments that should be set\n  when invoking the Deno CLI test from a code lens. _array of strings, default\n  `[ \"--allow-all\" ]`_.\n- `deno.config`: The file path to a configuration file. This is the equivalent\n  to using `--config` on the command line. The path can be either be relative to\n  the workspace, or an absolute path. It is recommended you name this file\n  either `deno.json` or `deno.jsonc`. _string, default `null`, examples:\n  `./deno.jsonc`, `/path/to/deno.jsonc`, `C:\\path\\to\\deno.jsonc`_\n- `deno.documentPreloadLimit`: Maximum number of file system entries to traverse\n  when finding scripts to preload into TypeScript on startup. Set this to `0` to\n  disable document preloading.\n- `deno.importMap`: The file path to an import map. This is the equivalent to\n  using `--import-map` on the command line.\n  [Import maps](https://docs.deno.com/runtime/fundamentals/configuration/#dependencies)\n  provide a way to \"relocate\" modules based on their specifiers. The path can\n  either be relative to the workspace, or an absolute path. _string, default\n  `null`, examples: `./import_map.json`, `/path/to/import_map.json`,\n  `C:\\path\\to\\import_map.json`_\n- `deno.inlayHints.enumMemberValues.enabled` - Enable/disable inlay hints for\n  enum values.\n- `deno.inlayHints.functionLikeReturnTypes.enabled` - Enable/disable inlay hints\n  for implicit function return types.\n- `deno.inlayHints.parameterNames.enabled` - Enable/disable inlay hints for\n  parameter names. Values can be `\"none\"`, `\"literals\"`, `\"all\"`.\n- `deno.inlayHints.parameterNames.suppressWhenArgumentMatchesName` - Do not\n  display an inlay hint when the argument name matches the parameter.\n- `deno.inlayHints.parameterTypes.enabled` - Enable/disable inlay hints for\n  implicit parameter types.\n- `deno.inlayHints.propertyDeclarationTypes.enabled` - Enable/disable inlay\n  hints for implicit property declarations.\n- `deno.inlayHints.variableTypes.enabled` - Enable/disable inlay hints for\n  implicit variable types.\n- `deno.inlayHints.variableTypes.suppressWhenTypeMatchesName` - Suppress type\n  hints where the variable name matches the implicit type.\n- `deno.internalDebug`: If enabled the Deno Language Server will log additional\n  internal diagnostic information.\n- `deno.internalInspect`: Enables the inspector server for the JS runtime used\n  by the Deno Language Server to host its TS server.\n- `deno.lint`: Controls if linting information will be provided by the Deno\n  Language Server. _boolean, default `true`_\n- `deno.maxTsServerMemory`: Maximum amount of memory the TypeScript isolate can\n  use. Defaults to 3072 (3GB).\n- `deno.suggest.imports.hosts`: A map of domain hosts (origins) that are used\n  for suggesting import auto completions. (See:\n  [ImportCompletions](./docs/ImportCompletions.md) for more information.)\n- `deno.testing.args`: Arguments to use when running tests via the Test\n  Explorer. Defaults to `[ \\\"--allow-all\\\" ]`.\n- `deno.unstable`: Controls if code will be executed with Deno's unstable APIs.\n  Affects execution which is triggered through the extension, such as test code\n  lenses. This is the equivalent to using `--unstable` on the command line.\n  _boolean, default `false`_\n\n## Compatibility\n\nTo see which versions of this extension can be used with each version of the\nDeno CLI, consult the following table.\n\n| Deno CLI        | vscode-deno     |\n| --------------- | --------------- |\n| 1.40.0 onwards  | 3.40.0 onwards  |\n| 1.37.2 - 1.39.4 | 3.34.0 - 3.39.0 |\n| 1.37.1          | 3.32.0 - 3.33.3 |\n| 1.37.0          | 3.28.0 - 3.31.0 |\n| ? - 1.36.4      | 3.27.0          |\n\nVersion ranges are inclusive. Incompatibilites prior to 3.27.0 were not tracked.\n\n## Contribute\n\n[Learn how to setup \u0026 contribute to this project](.github/CONTRIBUTING.md)\n\n## Thanks\n\nThis project was inspired by\n[justjavac/vscode-deno](https://github.com/justjavac/vscode-deno) and\n[axetroy/vscode-deno](https://github.com/axetroy/vscode-deno). Thanks for their\ncontributions.\n\n## License\n\nThe [MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenoland%2Fvscode_deno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenoland%2Fvscode_deno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenoland%2Fvscode_deno/lists"}