Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sass 用于在编辑器中转换值的自定义脚本_Sass_Visual Studio Code - Fatal编程技术网

Sass 用于在编辑器中转换值的自定义脚本

Sass 用于在编辑器中转换值的自定义脚本,sass,visual-studio-code,Sass,Visual Studio Code,有没有一种方法可以编写自定义VSCode脚本,从而允许在编辑器本身内进行值转换 例如,在.css文件中,我有以下内容: section { position: absolute: top: 114px; left: 72px; } 我想轻松地将px值(114px和72px)转换为1200px视口的视口宽度单位(vw) 目前,我手动计算(114*100)/1200,得到vw值 VSCode是否允许将px值转换为相应的vw值?不确定这是否是您要寻找的,但您可以编写扩展来实现这一点。请参

有没有一种方法可以编写自定义VSCode脚本,从而允许在编辑器本身内进行值转换

例如,在
.css
文件中,我有以下内容:

section {
  position: absolute:
  top: 114px;
  left: 72px;
}
我想轻松地将
px
值(
114px
72px
)转换为
1200px
视口的视口宽度单位(
vw

目前,我手动计算
(114*100)/1200
,得到
vw


VSCode是否允许将
px
值转换为相应的
vw
值?

不确定这是否是您要寻找的,但您可以编写扩展来实现这一点。请参阅以获取入门帮助

基本理念如下:

import*作为“vscode”中的vscode;
导出函数激活(上下文:vscode.ExtensionContext){
const disposable=vscode.commands.registerCommand('do.convert',()=>{
const activeEditor=vscode.window.activeTextEditor;
如果(!activeEditor)
回来
const range=activeEditor.document.getWordRangeAtPosition(activeEditor.selection.start,/a-z0-9%/i);
const line=activeEditor.document.getText(范围);
常量pxMatch=line.match(/(\d+)px/);
如果(!pxMatch)
回来
常数px=+pxMatch[1];
const edit=new vscode.workspacedit();
edit.replace(activeEditor.document.uri,范围,`${(px*100)/1200}vw`);
vscode.workspace.applyEdit(编辑);
});
context.subscriptions.push(一次性);
}

太棒了。这个脚本将如何使用?从文档中可以看出,这似乎只能在“检测到特定文件类型、存在特定文件或通过命令调色板或组合键选择命令时”调用。我会选择文本范围,然后通过组合键触发吗?是,有关注册命令的示例,请参见hello world扩展:默认情况下,此命令将在所有文件中启用,但如果需要,也可以将其限制为仅限于css文件。示例代码从光标位置获取值,但您可以对此进行自定义以使用选择