mirror of
https://github.com/any86/any-rule.git
synced 2025-07-14 15:38:58 +08:00
refactor: 增加日志记录
This commit is contained in:
parent
a16608c3e5
commit
107587e3b1
@ -369,6 +369,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"axios": "^0.19.2",
|
||||||
"transliteration": "^2.1.8"
|
"transliteration": "^2.1.8"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -7,7 +7,6 @@ const RULES: { title: string, rule: RegExp, examples: string[] }[] = require('..
|
|||||||
import useCommand from './useCommand';
|
import useCommand from './useCommand';
|
||||||
import useCompletion from './useCompletion';
|
import useCompletion from './useCompletion';
|
||||||
|
|
||||||
|
|
||||||
export function activate(context: ExtensionContext) {
|
export function activate(context: ExtensionContext) {
|
||||||
useCommand(context, RULES);
|
useCommand(context, RULES);
|
||||||
useCompletion(context, RULES);
|
useCompletion(context, RULES);
|
||||||
|
23
src/inserLog.ts
Normal file
23
src/inserLog.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import axios from 'axios';
|
||||||
|
|
||||||
|
const http = axios.create({
|
||||||
|
baseURL: 'https://leancloud.cn:443/1.1/classes/',
|
||||||
|
timeout: 1000,
|
||||||
|
headers: {
|
||||||
|
"X-LC-Id": "BKaqtaJScQuqKtkAyl5jeloo-gzGzoHsz",
|
||||||
|
"X-LC-Key": "y41qiVPTwnzLIgbDcEzcwHit",
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
export default function ({ vscodeVersion, extensionVersion, language, rule, title, method }: Record<string, string>) {
|
||||||
|
http.post('https://leancloud.cn:443/1.1/classes/Log', {
|
||||||
|
vscodeVersion,
|
||||||
|
language,
|
||||||
|
rule,
|
||||||
|
title,
|
||||||
|
extensionVersion,
|
||||||
|
method
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
@ -1,22 +1,36 @@
|
|||||||
import * as vscode from "vscode";
|
import {window,version,commands,Range,ExtensionContext,extensions} from "vscode";
|
||||||
import { Rule } from './interface';
|
import { Rule } from './interface';
|
||||||
export default function (context: vscode.ExtensionContext, RULES: Rule[]) {
|
import inserLog from './inserLog';
|
||||||
|
|
||||||
|
export default function (context: ExtensionContext, RULES: Rule[]) {
|
||||||
RULES.forEach(({ title, rule }, index) => {
|
RULES.forEach(({ title, rule }, index) => {
|
||||||
let disposable = vscode.commands.registerCommand(`extension.rule${index}`, () => {
|
let disposable = commands.registerCommand(`extension.rule${index}`, () => {
|
||||||
const editor = vscode.window.activeTextEditor;
|
const editor = window.activeTextEditor;
|
||||||
if (editor) {
|
if (editor) {
|
||||||
const { selections } = editor;
|
const { selections } = editor;
|
||||||
|
|
||||||
editor.edit(editBuilder => {
|
editor.edit(editBuilder => {
|
||||||
selections.forEach(selection => {
|
selections.forEach(selection => {
|
||||||
const { start, end } = selection;
|
const { start, end } = selection;
|
||||||
const range = new vscode.Range(start, end);
|
const range = new Range(start, end);
|
||||||
editBuilder.replace(range, String(rule));
|
editBuilder.replace(range, String(rule));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
vscode.window.showInformationMessage(`已插入正则: ${title}`);
|
|
||||||
|
// 日志
|
||||||
|
const language = window.activeTextEditor ? window.activeTextEditor.document.languageId as string : '';
|
||||||
|
const e = extensions.getExtension('russell.any-rule')
|
||||||
|
inserLog({
|
||||||
|
vscodeVersion: version,
|
||||||
|
language,
|
||||||
|
rule: String(rule),
|
||||||
|
title,
|
||||||
|
extensionVersion: e && e.packageJSON.version,
|
||||||
|
method: 'Command'
|
||||||
|
});
|
||||||
|
window.showInformationMessage(`已插入正则: ${title}`);
|
||||||
} else {
|
} else {
|
||||||
vscode.window.showWarningMessage('any-rule: 只有在编辑文本的时候才可以使用!');
|
window.showWarningMessage('any-rule: 只有在编辑文本的时候才可以使用!');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
context.subscriptions.push(disposable);
|
context.subscriptions.push(disposable);
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import { ExtensionContext, CompletionItem, CompletionItemKind, languages, Disposable, workspace, window, commands, TextDocument, Position, Range, Selection, MarkdownString } from "vscode";
|
import { ExtensionContext, version, CompletionItemKind, languages, Disposable, Extension, window, commands, TextDocument, Position, Range, Selection, MarkdownString, extensions } from "vscode";
|
||||||
import { Rule } from './interface';
|
import { Rule } from './interface';
|
||||||
import { COMPLETION_TRIGGER_ID } from './constant';
|
import { COMPLETION_TRIGGER_ID } from './constant';
|
||||||
// import { slugify } from 'transliteration';
|
// import { slugify } from 'transliteration';
|
||||||
|
import inserLog from './inserLog';
|
||||||
|
|
||||||
export default function (context: ExtensionContext, RULES: Rule[]) {
|
export default function (context: ExtensionContext, RULES: Rule[]) {
|
||||||
// commands.registerCommand('functions.insertRegex', insertRule);
|
// commands.registerCommand('functions.insertRegex', insertRule);
|
||||||
@ -27,8 +28,26 @@ export default function (context: ExtensionContext, RULES: Rule[]) {
|
|||||||
// }
|
// }
|
||||||
}).then(item => {
|
}).then(item => {
|
||||||
if (!item) return
|
if (!item) return
|
||||||
insertRule(document, position, item.rule)
|
insertRule(document, position, item.rule);
|
||||||
window.showInformationMessage(item.rule);
|
|
||||||
|
const language = window.activeTextEditor ? window.activeTextEditor.document.languageId as string : '';
|
||||||
|
|
||||||
|
// 日志
|
||||||
|
const e = extensions.getExtension('russell.any-rule')
|
||||||
|
inserLog({
|
||||||
|
vscodeVersion: version,
|
||||||
|
language,
|
||||||
|
rule: item.rule,
|
||||||
|
title: item.label,
|
||||||
|
extensionVersion: e && e.packageJSON.version,
|
||||||
|
method: 'QuickPick'
|
||||||
|
});
|
||||||
|
|
||||||
|
// https://github.com/any86/any-rule/issues/new?title=%E6%9D%A5%E8%87%AAvscode%E7%9A%84%E5%8F%8D%E9%A6%88(1.4.2%20-%20java)
|
||||||
|
window.showInformationMessage(`已插入正则: "${item.label}"`, '🦕图解正则', '🚀反馈问题', version, language).then(value => {
|
||||||
|
|
||||||
|
// window.showInformationMessage();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
return void 0;
|
return void 0;
|
||||||
|
16
yarn.lock
16
yarn.lock
@ -116,6 +116,13 @@ argparse@^1.0.7:
|
|||||||
dependencies:
|
dependencies:
|
||||||
sprintf-js "~1.0.2"
|
sprintf-js "~1.0.2"
|
||||||
|
|
||||||
|
axios@^0.19.2:
|
||||||
|
version "0.19.2"
|
||||||
|
resolved "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"
|
||||||
|
integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
|
||||||
|
dependencies:
|
||||||
|
follow-redirects "1.5.10"
|
||||||
|
|
||||||
balanced-match@^1.0.0:
|
balanced-match@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
|
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
|
||||||
@ -221,7 +228,7 @@ cross-spawn@^6.0.0:
|
|||||||
shebang-command "^1.2.0"
|
shebang-command "^1.2.0"
|
||||||
which "^1.2.9"
|
which "^1.2.9"
|
||||||
|
|
||||||
debug@3.1.0:
|
debug@3.1.0, debug@=3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
|
resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
|
||||||
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
|
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
|
||||||
@ -352,6 +359,13 @@ flat@^4.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-buffer "~2.0.3"
|
is-buffer "~2.0.3"
|
||||||
|
|
||||||
|
follow-redirects@1.5.10:
|
||||||
|
version "1.5.10"
|
||||||
|
resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
|
||||||
|
integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
|
||||||
|
dependencies:
|
||||||
|
debug "=3.1.0"
|
||||||
|
|
||||||
fs.realpath@^1.0.0:
|
fs.realpath@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user