提交 eff091ec 编写于 作者: F Fatih Acet

Implemented Personal Access Token input.

上级 79f5d018
......@@ -17,6 +17,10 @@
"icon": "src/assets/gitlab-logo.png",
"contributes": {
"commands": [
{
"command": "gl.setToken",
"title": "Set GitLab Personal Access Token"
},
{
"command": "gl.showIssuesAssigedToMe",
"title": "GitLab: Show issues assigned to me"
......@@ -33,16 +37,6 @@
"type": "string",
"default": "https://gitlab.com",
"description": "Your GitLab instance URL (default is https://gitlab.com)"
},
"gitlab.userId": {
"type": "string",
"default": null,
"description": "Your GitLab User ID"
},
"gitlab.remoteName": {
"type": "string",
"default": "origin",
"description": "Change this you rename your remote name. (default is origin)"
}
}
}
......
const vscode = require('vscode');
const openLinks = require('./open_links');
const statusBar = require('./status_bar');
const tokenInput = require('./token_input');
const activate = (context) => {
// console.log('To setup this extension, please add your GitLab User Id to settings file. ');
const commands = {
'gl.showIssuesAssigedToMe': openLinks.showIssues,
'gl.showMergeRequestsAssigedToMe': openLinks.showMergeRequests,
'gl.setToken': tokenInput.showInput.bind(null, context),
}
const showIssues = vscode.commands.registerCommand('gl.showIssuesAssigedToMe', openLinks.showIssues);
const showMergeRequests = vscode.commands.registerCommand('gl.showMergeRequestsAssigedToMe', openLinks.showMergeRequests);
context.subscriptions.push(showIssues, showMergeRequests);
Object.keys(commands).forEach((cmd) => {
context.subscriptions.push(
vscode.commands.registerCommand(cmd, commands[cmd])
);
})
statusBar.init(context);
askForToken(context);
};
const askForToken = (context) => {
const gs = context.globalState;
if (!gs.get('glToken') && !gs.get('askedForToken')) {
vscode.window.showInformationMessage('GitLab Workflow: Please set GitLab Personal Access Token to setup this extension.');
gs.update('askedForToken', true);
}
}
const deactivate = () => {};
exports.activate = activate;
......
const vscode = require('vscode');
// TODO: Provide user an option to delete PAT
async function showInput(context) {
const token = await vscode.window.showInputBox({
ignoreFocusOut: true,
password: true,
placeHolder: 'Paste your GitLab Personal Access Token...',
});
if (token) {
context.globalState.update('glToken', token);
}
}
exports.showInput = showInput;
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册