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": {
|
||||
"axios": "^0.19.2",
|
||||
"transliteration": "^2.1.8"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,6 @@ const RULES: { title: string, rule: RegExp, examples: string[] }[] = require('..
|
||||
import useCommand from './useCommand';
|
||||
import useCompletion from './useCompletion';
|
||||
|
||||
|
||||
export function activate(context: ExtensionContext) {
|
||||
useCommand(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';
|
||||
export default function (context: vscode.ExtensionContext, RULES: Rule[]) {
|
||||
import inserLog from './inserLog';
|
||||
|
||||
export default function (context: ExtensionContext, RULES: Rule[]) {
|
||||
RULES.forEach(({ title, rule }, index) => {
|
||||
let disposable = vscode.commands.registerCommand(`extension.rule${index}`, () => {
|
||||
const editor = vscode.window.activeTextEditor;
|
||||
let disposable = commands.registerCommand(`extension.rule${index}`, () => {
|
||||
const editor = window.activeTextEditor;
|
||||
if (editor) {
|
||||
const { selections } = editor;
|
||||
|
||||
editor.edit(editBuilder => {
|
||||
selections.forEach(selection => {
|
||||
const { start, end } = selection;
|
||||
const range = new vscode.Range(start, end);
|
||||
const range = new Range(start, end);
|
||||
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 {
|
||||
vscode.window.showWarningMessage('any-rule: 只有在编辑文本的时候才可以使用!');
|
||||
window.showWarningMessage('any-rule: 只有在编辑文本的时候才可以使用!');
|
||||
}
|
||||
});
|
||||
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 { COMPLETION_TRIGGER_ID } from './constant';
|
||||
// import { slugify } from 'transliteration';
|
||||
import inserLog from './inserLog';
|
||||
|
||||
export default function (context: ExtensionContext, RULES: Rule[]) {
|
||||
// commands.registerCommand('functions.insertRegex', insertRule);
|
||||
@ -27,8 +28,26 @@ export default function (context: ExtensionContext, RULES: Rule[]) {
|
||||
// }
|
||||
}).then(item => {
|
||||
if (!item) return
|
||||
insertRule(document, position, item.rule)
|
||||
window.showInformationMessage(item.rule);
|
||||
insertRule(document, position, 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;
|
||||
|
16
yarn.lock
16
yarn.lock
@ -116,6 +116,13 @@ argparse@^1.0.7:
|
||||
dependencies:
|
||||
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:
|
||||
version "1.0.0"
|
||||
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"
|
||||
which "^1.2.9"
|
||||
|
||||
debug@3.1.0:
|
||||
debug@3.1.0, debug@=3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
|
||||
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
|
||||
@ -352,6 +359,13 @@ flat@^4.1.0:
|
||||
dependencies:
|
||||
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:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
||||
|
Loading…
x
Reference in New Issue
Block a user