假设我在.jsx文件中有这个代码:
现在,如果我键入,例如,BrowserRouter并点击Tab我得到这个状态仍然可以:
但是现在当我击中时Enter,我有这种状态:
如何让它像.html压缩文件一样工作,Enter添加两个新行并进行自动缩进?像那样:
我有VS Code v1.20.1,我可能与此问题相关的偏好如下:
"emmet.triggerExpansionOnTab": true,
"emmet.includeLanguages": {
"javascript": "javascriptreact"
}
Run Code Online (Sandbox Code Playgroud)
我已经搜索了VS代码的Github问题,看起来大约半年前已修复并且现在应该可以正常工作,但由于某些原因它不是.此外,我--disable-extensions为此运行了带有标志的VS Code,因此它不是扩展问题.
我还发现它似乎不适用于顶级标签.对于其中的任何内容,缩进的工作方式与.html文件类似.奇怪.
谢谢.
我正在创建一个可以使用权限和剪贴板 API 的应用程序。标准 Typescript 库没有用于许多尖端剪贴板 API 内容的类型,所以我去创建一个.d.ts文件来扩展这些不完整的接口。它包含这样的声明:
declare class ClipboardItem {
constructor(data: { [mimeType: string]: Blob });
}
Run Code Online (Sandbox Code Playgroud)
我以这种方式从我的代码中引用它: /// <reference path="clipboard.d.ts" />
到目前为止一切顺利:添加了缺少的接口,扩展了现有的接口,自动完成功能正常工作。但后来我开始请求"clipboard-read"许可。我想在调用navigator.permissions.query({name: "clipboard-read"})wherename的类型在标准 Typescript 库中定义时传递这个字符串,如下所示:
type PermissionName = "geolocation" | ... | "clipboard";
Run Code Online (Sandbox Code Playgroud)
它没有“剪贴板阅读”。所以我想扩展它,使其包括“剪贴板读取”。现在,如果在我的.d.ts文件中我写
type PermissionName = 'clipboard-read';
Run Code Online (Sandbox Code Playgroud)
它显示了一个错误Duplicate identifier 'PermissionName'.ts(2300)。我尝试了其他品种,但都归结为重复标识符错误。
有没有办法扩展已经在其他地方全局声明的不是 ainterface而是 a type?我该怎么做才能实现这一目标?