有没有办法编写一个自定义VSCode脚本,允许在编辑器本身内进行值转换?
例如,在.css
文件中,我有以下内容:
section {
position: absolute:
top: 114px;
left: 72px;
}
我希望轻松将px
值(114px
和72px
)转换为vw
视口的视口宽度单位(1200px
)。
目前,我手动计算(114 * 100) / 1200
,它会给我vw
值。
VSCode是否允许将px
值转换为相应的vw
值?
答案 0 :(得分:1)
不确定这是否是您要找的,但您可以编写扩展程序来执行此操作。有关入门的帮助,请参阅our extension authoring documentation。
基本理念如下:
import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
const disposable = vscode.commands.registerCommand('do.convert', () => {
const activeEditor = vscode.window.activeTextEditor;
if (!activeEditor)
return;
const range = activeEditor.document.getWordRangeAtPosition(activeEditor.selection.start, /a-z0-9%/i);
const line = activeEditor.document.getText(range);
const pxMatch = line.match(/(\d+)px/);
if (!pxMatch)
return;
const px = + pxMatch[1];
const edit = new vscode.WorkspaceEdit();
edit.replace(activeEditor.document.uri, range, `${(px * 100) / 1200}vw`);
vscode.workspace.applyEdit(edit);
});
context.subscriptions.push(disposable);
}