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