From 9580250bb0398c9aa1a5474a9e6e5d2a49950515 Mon Sep 17 00:00:00 2001 From: "bobo.yang" Date: Fri, 5 May 2023 15:34:22 +0800 Subject: [PATCH] add default instructions --- .../{ => commit_message}/instCommitMessage.txt | 0 instructions/{ => default}/instCode.txt | 0 instructions/{ => default}/instLangPython.txt | 0 instructions/instCommon.txt | 1 - src/commitMessageCommand.ts | 17 ++++++++++++----- src/messageHandler.ts | 5 ++++- 6 files changed, 16 insertions(+), 7 deletions(-) rename instructions/{ => commit_message}/instCommitMessage.txt (100%) rename instructions/{ => default}/instCode.txt (100%) rename instructions/{ => default}/instLangPython.txt (100%) delete mode 100644 instructions/instCommon.txt diff --git a/instructions/instCommitMessage.txt b/instructions/commit_message/instCommitMessage.txt similarity index 100% rename from instructions/instCommitMessage.txt rename to instructions/commit_message/instCommitMessage.txt diff --git a/instructions/instCode.txt b/instructions/default/instCode.txt similarity index 100% rename from instructions/instCode.txt rename to instructions/default/instCode.txt diff --git a/instructions/instLangPython.txt b/instructions/default/instLangPython.txt similarity index 100% rename from instructions/instLangPython.txt rename to instructions/default/instLangPython.txt diff --git a/instructions/instCommon.txt b/instructions/instCommon.txt deleted file mode 100644 index 1a1b2df..0000000 --- a/instructions/instCommon.txt +++ /dev/null @@ -1 +0,0 @@ -You are a software developer assistant. \ No newline at end of file diff --git a/src/commitMessageCommand.ts b/src/commitMessageCommand.ts index 3796e83..2e9057b 100644 --- a/src/commitMessageCommand.ts +++ b/src/commitMessageCommand.ts @@ -44,15 +44,22 @@ async function writeDiffFile(diff_file: string) { export const commitMessageCommand: Command = { name: 'commitMessageCommand', - pattern: 'git: commit message', + pattern: 'commit_meesage', description: 'commit message for changes', handler: async (userInput: string) => { const tempDir = createTempSubdirectory('devchat/context'); - // 创建临时目录 - const diff_file = path.join(tempDir, 'diff_output.txt'); - await writeDiffFile(diff_file); + // // 创建临时目录 + // const diff_file = path.join(tempDir, 'diff_output.txt'); + // await writeDiffFile(diff_file); - return `[context|${diff_file}] Write a commit message`; + // return `[context|${diff_file}] Write a commit message`; + + const workspaceDir = vscode.workspace.workspaceFolders?.[0].uri.fsPath; + if (workspaceDir) { + const commitmessageInstruction = path.join(workspaceDir, '.chat', 'instructions', 'commit_message', 'instCommitMessage.txt'); + return `[instruction|${commitmessageInstruction}] Write a commit message`; + } + return 'Write a commit message'; }, }; diff --git a/src/messageHandler.ts b/src/messageHandler.ts index bee7530..9417255 100644 --- a/src/messageHandler.ts +++ b/src/messageHandler.ts @@ -87,7 +87,7 @@ function getInstructionFiles(): string[] { const instructionFiles: string[] = []; const workspaceDir = vscode.workspace.workspaceFolders?.[0].uri.fsPath; if (workspaceDir) { - const chatInstructionsPath = path.join(workspaceDir, '.chat', 'instructions'); + const chatInstructionsPath = path.join(workspaceDir, '.chat', 'instructions', 'default'); try { // 读取 chatInstructionsPath 目录下的所有文件和目录 const files = fs.readdirSync(chatInstructionsPath); @@ -126,6 +126,9 @@ async function handleMessage( } chatOptions.header = getInstructionFiles(); + if (parsedMessage.instruction.length > 0) { + chatOptions.header = parsedMessage.instruction; + } if (parsedMessage.reference.length > 0) { chatOptions.reference = parsedMessage.reference;