-
Notifications
You must be signed in to change notification settings - Fork 38.2k
Closed
Labels
bugIssue identified by VS Code Team member as probable bugIssue identified by VS Code Team member as probable bugfile-ioFile I/OFile I/OverifiedVerification succeededVerification succeeded
Milestone
Description
I have a WorkspaceEdit as below:
A simplified sample:
{
documentChanges: [
TextEdit to file1,
TextEdit to file2,
TextEdit to file1,
Move file1 to file1New
]
}
A real WorkspaceEdit for apply
{
"changes": {},
"documentChanges": [
{
"textDocument": {
"version": 0,
"uri": "file:///C:/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/XMLCodeLens.java"
},
"edits": [
{
"range": {
"start": {
"line": 16,
"character": 47
},
"end": {
"line": 17,
"character": 43
}
},
"newText": "\r\nimport org.eclipse.lsp4xml.services.CodeLensRequest;"
}
]
},
{
"textDocument": {
"version": 0,
"uri": "file:///C:/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/XMLLanguageService.java"
},
"edits": [
{
"range": {
"start": {
"line": 44,
"character": 42
},
"end": {
"line": 44,
"character": 42
}
},
"newText": "\r\nimport org.eclipse.lsp4xml.dom.XMLCodeLens;"
}
]
},
{
"textDocument": {
"version": 0,
"uri": "file:///C:/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/XMLCodeLens.java"
},
"edits": [
{
"range": {
"start": {
"line": 10,
"character": 8
},
"end": {
"line": 10,
"character": 36
}
},
"newText": "org.eclipse.lsp4xml.dom"
}
]
},
{
"oldUri": "file:///C:/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/XMLCodeLens.java",
"newUri": "file:///C:/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/dom/XMLCodeLens.java",
"kind": "rename"
}
]
}
Log from the command "Developer: Open Log File... -> Window"
[2019-07-22 17:27:29.179] [renderer11] [debug] _performTextEdits
[{
"resource": {
"$mid": 1,
"external": "file:///c%3A/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/XMLCodeLens.java",
"path": "/C:/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/XMLCodeLens.java",
"scheme": "file"
},
"edits": [{
"text": "\r\nimport org.eclipse.lsp4xml.services.CodeLensRequest;",
"range": {
"startLineNumber": 17,
"startColumn": 48,
"endLineNumber": 18,
"endColumn": 44
}
}
]
}, {
"resource": {
"$mid": 1,
"external": "file:///c%3A/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/XMLLanguageService.java",
"path": "/C:/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/XMLLanguageService.java",
"scheme": "file"
},
"modelVersionId": 3,
"edits": [{
"text": "\r\nimport org.eclipse.lsp4xml.dom.XMLCodeLens;",
"range": {
"startLineNumber": 45,
"startColumn": 43,
"endLineNumber": 45,
"endColumn": 43
}
}
]
}, {
"resource": {
"$mid": 1,
"external": "file:///c%3A/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/XMLCodeLens.java",
"path": "/C:/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/XMLCodeLens.java",
"scheme": "file"
},
"edits": [{
"text": "org.eclipse.lsp4xml.dom",
"range": {
"startLineNumber": 11,
"startColumn": 9,
"endLineNumber": 11,
"endColumn": 37
}
}
]
}
][2019-07-22 17:27:29.184] [renderer11] [debug] _performFileEdits
[{
"oldUri": {
"$mid": 1,
"path": "/C:/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/services/XMLCodeLens.java",
"scheme": "file"
},
"newUri": {
"$mid": 1,
"path": "/C:/Work/Debugger/lsp4xml/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/dom/XMLCodeLens.java",
"scheme": "file"
}
}
]The edits are supposed to be applied by order, the text edits for the old file should be applied first, then move to the new file.
But actually the change for file2 is always applied correctly, but sometimes the text changes for file1 don't take effect. Especially when file1 is not opened in VS Code before applying, the text changes for file1 are often dropped. Besides, if i move the same file back and forth, it can be easily reproduced.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugIssue identified by VS Code Team member as probable bugIssue identified by VS Code Team member as probable bugfile-ioFile I/OFile I/OverifiedVerification succeededVerification succeeded