visual studio没有自动导入包的功能?比如android studio就有Alt+Enter快捷键。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了visual studio没有自动导入包的功能?比如android studio就有Alt+Enter快捷键。相关的知识,希望对你有一定的参考价值。

比如当你要用setprecision时,能不能快捷键自动导入#include <iomanip>?

参考技术A (1)VS自动代码整理,使用代整更整洁!只需三步:
第一步:Ctrl+A
第二步:Ctrl+K
第三步:Ctrl+D

(2)vs提示:Ctrl+J
(3)按TAB键,自动补全
参考技术B 据我所知,没有 参考技术C 没有吧

Visual Studio Code 中的打字稿是不是有自动导入功能?

【中文标题】Visual Studio Code 中的打字稿是不是有自动导入功能?【英文标题】:Is there auto-import functionality for typescript in Visual Studio Code?Visual Studio Code 中的打字稿是否有自动导入功能? 【发布时间】:2015-07-12 22:25:49 【问题描述】:

是否有任何快捷方式可以让我自动生成我的打字稿导入?就像在类型名称旁边按 ctrl+space 并将导入声明放在文件顶部一样。如果不是,那么用于填写模块引用路径的智能感知怎么样,这样我就不必手动完成了?我真的很想使用 vscode,但必须手动导入 typescript 让我很丧。

【问题讨论】:

【参考方案1】:

这刚刚在version 1.18 发布。

来自发行说明:

JavaScript 和 TypeScript 的自动导入

通过自动导入 JavaScript 和 TypeScript 来加速您的编码。建议列表现在包括当前项目中的所有导出符号。开始输入:

如果你从另一个文件或模块中选择一个建议,VS Code 会自动为它添加一个导入。在此示例中,VS Code 将 Hercules 的导入添加到文件顶部:

自动导入需要 TypeScript 2.6+。您可以通过设置 "typescript.autoImportSuggestions.enabled": false 来禁用自动导入。

【讨论】:

【参考方案2】:

我相信名为“TypeScript Importer”的插件完全符合您的意思:https://marketplace.visualstudio.com/items?itemName=pmneo.tsimporter。

自动搜索工作区文件中的 TypeScript 定义,并提供所有已知符号作为完成项以允许代码完成。

有了它,您可以真正使用 Ctrl+Space 来选择您想要导入的内容。

您可以从 Ctrl+Shift+X 菜单中找到并安装它,或者只需在打开的快速打开菜单中粘贴 ext install tsimporter 即可Ctrl+P.

【讨论】:

欢迎提供解决方案的链接,但请确保您的答案在没有它的情况下有用:add context around the link 这样您的其他用户就会知道它是什么以及为什么会出现,然后引用最相关的内容您链接到的页面的一部分,以防目标页面不可用。 Answers that are little more than a link may be deleted. @MAR,嗯,当答案不符合您的“完美答案”标准时,我不喜欢将答案标记为“无用”......无论如何,它更好吗现在? 我不是投反对票的人,所以无法提供我没有投反对票的理由。 @M.A.R.好吧,对不起,我当时不公正地指责了你。有人可以解释一下否决票吗?【参考方案3】:

我知道 Visual Studio 的解决方案(不是 Visual Studio Code,我使用的是免费的 2015 社区版),但它需要一些设置和编码 - 但是,我发现结果是足够的。

基本上,在Visual Studio中,当使用Web-Essentials扩展时,.ts文件可以拖入活动文档,自动生成相对引用路径注释:

/// <reference path="lib/foo.ts" />

当然我们不妨用它来擦除它,因为我们需要的是import 声明,而不是参考评论。

出于这个原因,我最近为 Visual Commander 编写了以下命令 sn-p,但它也应该很容易适应其他用例。使用 Visual Commander,您可以将所需的导入拖动到打开的文档中,然后运行以下宏:

using EnvDTE;
using EnvDTE80;
using System.Text.RegularExpressions;

public class C : VisualCommanderExt.ICommand

    // Called by Visual Commander extension.
    public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) 
    
        TextDocument doc = (TextDocument)(DTE.ActiveDocument.Object("TextDocument"));
        var p = doc.StartPoint.CreateEditPoint();
        string s = p.GetText(doc.EndPoint);

        p.ReplaceText(doc.EndPoint, this.ReplaceReferences(s), (int)vsEPReplaceTextOptions.vsEPReplaceTextKeepMarkers);
    

    // Converts "reference" syntax to "ES6 import" syntax.
    private string ReplaceReferences(string text)
    
        string pattern = "\\/\\/\\/ *<reference *path *= *\"([^\"]*)(?:\\.ts)\" *\\/>";

        var regex = new Regex(pattern);
        var matches = Regex.Matches(text, pattern);

        return Regex.Replace(text, pattern, "import  from \"./$1\";");
    

运行此 sn-p 时,活动文档中的所有引用 cmets 都将替换为 import 语句。上面的例子转换为:

import  from "./lib/foo";

【讨论】:

【参考方案4】:

tsconfig.json 文件中的 files 属性允许您在整个项目中设置引用导入。它受 Visual Studio Code 支持,但请注意,如果您使用特定的构建链(例如 tsify/browserify),它在编译项目时可能无法正常工作。

【讨论】:

嗨,弗雷德里克。谢谢回复。导入外部模块时怎么办。有什么帮助吗?【参考方案5】:

有传言说它支持 tsconfig.json(嗯,比传闻好)。这将使我们能够使用所有文件作为参考。

您的功能是将所有常用的 3rd 方库自动导入到类型中。也许会自动扫描文件并创建要收集的文件列表。使用 tsd 直接从 Code 中(以交互方式)快速添加其中的几个不是很好吗?

【讨论】:

嗨,约翰。谢谢回复。导入外部模块时怎么办。有什么帮助吗?

以上是关于visual studio没有自动导入包的功能?比如android studio就有Alt+Enter快捷键。的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio Code 中的打字稿是不是有自动导入功能?

导入包的 Visual Studio 代码 JS Intellisense 不起作用

Android studio 自动导入(全部)包 import

Android studio 自动导入(全部)包 import

android studio 为啥自动导入import static u.aly.x.r

在 Visual Studio Code 中自动导入 React 组件 [关闭]