javascript - Cum să setezi pictogramele și logourile personalizate în bara de stare (setStatusBarMessage) a unei extensii vscode?
Dezvolt o extensie VS Code în care vreau să setezi pictogramele în bara de stare, dar mă confrunt cu o problemă.
import * as vscode from 'vscode';
...
export function activate(context: vscode.ExtensionContext) {
...
let disposable = vscode.commands.registerCommand('extension.helloWorld', () => {
....
//on the place of icon i want the icon to get display in the status bar
vscode.window.setStatusBarMessage(
"icon "+" icon "+
data1 +
" icon " +
data2 +
" icon" +
data3
);
...
...
});
...
}
export function deactivate() {}
Răspuns #1
Da, poți adăuga o pictogramă în Bara de stare. Mai întâi, trebuie să convertești pictograma ta svg în font (poți folosi un instrument precum iconmo), apoi să o adaugi în package.json. API-ul este aici: (https://code.visualstudio.com/api/references/contribution-points#contributes.icons)
Exemplu :
"contributes": {
"icons": {
"skedulo-logo": {
"description": "Skedulo icon",
"default": {
"fontPath": "media/skedulo.woff",
"fontCharacter": "\\e900"
}
}
}
}
}
Apoi în bara ta de stare:
this.statusBar = vscode.window.createStatusBarItem(
vscode.StatusBarAlignment.Left,
100
);
this.statusBar.text = `$(skedulo-logo)`;
Poți face referire la unele extensii precum Graphql: https://github.com/graphql/graphiql/blob/main/packages/vscode-graphql/package.json
Răspunsul #2
Poți găsi o listă cu pictogramele disponibile aici (pictogramele personalizate nu sunt acceptate):
https://code.visualstudio.com/api/references/icons-in-labels
Ele sunt utilizate prin sintaxa $ (icon-name), de exemplu $ (alert) care va produce
.