Skip to content

Commit 030310e

Browse files
author
Jiatong Li
committed
feat(amazonq): add fileUri to FileContext
1 parent 3c07c5b commit 030310e

File tree

4 files changed

+16
-1
lines changed

4 files changed

+16
-1
lines changed

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/editor/CodeWhispererEditorUtil.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ object CodeWhispererEditorUtil {
3232
val fileName = getFileName(psiFile)
3333
val programmingLanguage = psiFile.programmingLanguage()
3434
val fileRelativePath = getRelativePathToContentRoot(editor)
35-
return FileContextInfo(caretContext, fileName, programmingLanguage, fileRelativePath)
35+
val fileUri = getFileUri(psiFile)
36+
return FileContextInfo(caretContext, fileName, programmingLanguage, fileRelativePath, fileUri)
3637
}
3738

3839
fun extractCaretContext(editor: Editor): CaretContext {
@@ -73,6 +74,11 @@ object CodeWhispererEditorUtil {
7374
private fun getFileName(psiFile: PsiFile): String =
7475
psiFile.name.substring(0, psiFile.name.length.coerceAtMost(CodeWhispererConstants.FILENAME_CHARS_LIMIT))
7576

77+
private fun getFileUri(psiFile: PsiFile): String? =
78+
psiFile.virtualFile?.takeIf { it.isValid }?.let { vFile ->
79+
vFile.url.substring(0, vFile.url.length.coerceAtMost(CodeWhispererConstants.FILENAME_CHARS_LIMIT))
80+
}
81+
7682
fun getRelativePathToContentRoot(editor: Editor): String? =
7783
editor.project?.let { project ->
7884
FileDocumentManager.getInstance().getFile(editor.document)?.let { vFile ->

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/model/CodeWhispererModel.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ data class FileContextInfo(
5959
val filename: String,
6060
val programmingLanguage: CodeWhispererProgrammingLanguage,
6161
val fileRelativePath: String?,
62+
val fileUri: String?,
6263
)
6364

6465
data class SupplementalContextInfo(

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/service/CodeWhispererService.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -860,6 +860,7 @@ class CodeWhispererService(private val cs: CoroutineScope) : Disposable {
860860
.leftFileContent(fileContextInfo.caretContext.leftFileContext)
861861
.rightFileContent(fileContextInfo.caretContext.rightFileContext)
862862
.filename(fileContextInfo.fileRelativePath ?: fileContextInfo.filename)
863+
.fileUri(fileContextInfo.fileUri)
863864
.programmingLanguage(programmingLanguage)
864865
.build()
865866
val supplementalContexts = supplementalContext?.contents?.map {

plugins/core/sdk-codegen/codegen-resources/codewhispererruntime/service-2.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1596,9 +1596,16 @@
15961596
"leftFileContent":{"shape":"FileContextLeftFileContentString"},
15971597
"rightFileContent":{"shape":"FileContextRightFileContentString"},
15981598
"filename":{"shape":"FileContextFilenameString"},
1599+
"fileUri": {"shape":"FileContextFileUriString"},
15991600
"programmingLanguage":{"shape":"ProgrammingLanguage"}
16001601
}
16011602
},
1603+
"FileContextFileUriString": {
1604+
"type": "string",
1605+
"max": 1024,
1606+
"min": 1,
1607+
"sensitive": true
1608+
},
16021609
"FileContextFilenameString":{
16031610
"type":"string",
16041611
"max":1024,

0 commit comments

Comments
 (0)