Question:
In order to create custom keybindings to toggle focus between the editor and something such as the terminal panel, a command to focus the active/most recently used editor group needs to be . I believe this is the best that can be accomplished currently: Focuses the first group, meaning if the second or third editor groups were focused this would feel wrong: Or this which focused the most recently used editor group but opens the last editor/file in the group: Some context on request:
isn't that as easy as providing a global command that just puts focus into the active editor? E.g. ? PR welcome if you wanna give it a try.
yes, I expect it to be pretty easy.
got a better name than ?
works for me

} } <ins> export class FocusActiveGroupAction extends Action { public static ID = 'workbench.action.focusActiveEditorGroup'; public static LABEL = nls.localize('focusActiveEditorGroup', "Focus Active Editor Group"); constructor( id: string, label: string, @IWorkbenchEditorService private editorService: IWorkbenchEditorService ) { super(id, label); } public run(): TPromise<any> { const activeEditor = this.editorService.getActiveEditor(); if (activeEditor) { activeEditor.focus(); } return TPromise.as(true); } } </ins> export class FocusFirstGroupAction extends Action { public static ID = 'workbench.action.focusFirstEditorGroup';


Question:
In order to create custom keybindings to toggle focus between the editor and something such as the terminal panel, a command to focus the active/most recently used editor group needs to be . I believe this is the best that can be accomplished currently: Focuses the first group, meaning if the second or third editor groups were focused this would feel wrong: Or this which focused the most recently used editor group but opens the last editor/file in the group: Some context on request:
isn't that as easy as providing a global command that just puts focus into the active editor? E.g. ? PR welcome if you wanna give it a try.
yes, I expect it to be pretty easy.
got a better name than ?
works for me

return TPromise.as(true); } <del> } </del>  No newline at end of file <ins> } </ins>


Question:
VSCode Version:1.6 insiders OS Version: doesn't matter All settings related to css, sass, less, html, json and markdown. This might be because these come from extensions that are built in?
I've gone through the builtin extensions and opened new issues for each one that is missing setting localization. Please met me know if I missed any

"markdown.styles": { "type": ["array"], "default": [], <del> "description": "A list of URLs or local paths to CSS style sheets to use from the markdown preview. Relative paths are interpreted relative to the folder open in the explorer. If there is no open folder, they are interpreted relative to the location of the markdown file. All '' need to be written as ''." </del> <ins> "description": "%markdown.styles.dec%" </ins> }, "markdown.previewFrontMatter": { "type": ["string"], "default": "hide", <del> "description": "Sets how YAML front matter should be rendered in the markdown preview. 'hide' removes the front matter. Otherwise, the front matter is treated as markdown content" </del> <ins> "description": "%markdown.previewFrontMatter.dec%" </ins> } } }


Question:
VSCode Version:1.6 insiders OS Version: doesn't matter All settings related to css, sass, less, html, json and markdown. This might be because these come from extensions that are built in?
I've gone through the builtin extensions and opened new issues for each one that is missing setting localization. Please met me know if I missed any

{ "markdown.preview.title" : "Open Preview", "markdown.previewSide.title" : "Open Preview to the Side", <del> "markdown.showSource.title" : "Show Source" </del> <ins> "markdown.showSource.title" : "Show Source", "markdown.styles.dec": "A list of URLs or local paths to CSS style sheets to use from the markdown preview. Relative paths are interpreted relative to the folder open in the explorer. If there is no open folder, they are interpreted relative to the location of the markdown file. All '' need to be written as ''.", "markdown.previewFrontMatter.dec": "Sets how YAML front matter should be rendered in the markdown preview. 'hide' removes the front matter. Otherwise, the front matter is treated as markdown content" </ins> }  No newline at end of file


Question:
VSCode Version: 1.6.0 OS Version: OSX 10.11.6 *.ini files comments-line starts with the SEMI-COLON. but VSCode has insert (or remove) the HASHMARK.
Pull request pushed, thanks a lot !

<ins> { "comments": { "lineComment": ";", "blockComment": [ ";", " " ] }, "brackets": [ ["{", "}"], ["[", "]"], ["(", ")"] ], "autoClosingPairs": [ ["{", "}"], ["[", "]"], ["(", ")"], [""", """], ["'", "'"] ], "surroundingPairs": [ ["{", "}"], ["[", "]"], ["(", ")"], [""", """], ["'", "'"] ] } </ins>  No newline at end of file


Question:
VSCode Version: 1.6.0 OS Version: OSX 10.11.6 *.ini files comments-line starts with the SEMI-COLON. but VSCode has insert (or remove) the HASHMARK.
Pull request pushed, thanks a lot !

<del> { "comments": { "lineComment": "#", "blockComment": [ "#", " " ] }, "brackets": [ ["{", "}"], ["[", "]"], ["(", ")"] ], "autoClosingPairs": [ ["{", "}"], ["[", "]"], ["(", ")"], [""", """], ["'", "'"] ], "surroundingPairs": [ ["{", "}"], ["[", "]"], ["(", ")"], [""", """], ["'", "'"] ] } </del>  No newline at end of file


Question:
VSCode Version: 1.6.0 OS Version: OSX 10.11.6 *.ini files comments-line starts with the SEMI-COLON. but VSCode has insert (or remove) the HASHMARK.
Pull request pushed, thanks a lot !

"contributes": { "languages": [{ "id": "ini", <del> "extensions": [ ".ini", ".properties", ".gitconfig" ], "filenames": ["config", ".gitattributes", ".gitconfig", "gitconfig", ".editorconfig"], </del> <ins> "extensions": [ ".ini"], </ins> "aliases": [ "Ini", "ini" ], <del> "configuration": "./language-configuration.json" }], </del> <ins> "configuration": "./ini.language-configuration.json" }, { "id": "properties", "extensions": [ ".properties", ".gitconfig" ], "filenames": ["config", ".gitattributes", ".gitconfig", "gitconfig", ".editorconfig"], "aliases": [ "properties", "properties" ], "configuration": "./properties.language-configuration.json" } ], </ins> "grammars": [{ "language": "ini", "scopeName": "source.ini", <del> "path": "./syntaxes/Ini.plist" </del> <ins> "path": "./syntaxes/Ini.tmLanuage" },{ "language": "properties", "scopeName": "source.properties", "path": "./syntaxes/properties.plist" </ins> }] } }


Question:
VSCode Version: 1.6.0 OS Version: OSX 10.11.6 *.ini files comments-line starts with the SEMI-COLON. but VSCode has insert (or remove) the HASHMARK.
Pull request pushed, thanks a lot !

<ins> { "comments": { "lineComment": "#", "blockComment": [ "#", " " ] }, "brackets": [ ["{", "}"], ["[", "]"], ["(", ")"] ], "autoClosingPairs": [ ["{", "}"], ["[", "]"], ["(", ")"], [""", """], ["'", "'"] ], "surroundingPairs": [ ["{", "}"], ["[", "]"], ["(", ")"], [""", """], ["'", "'"] ] } </ins>  No newline at end of file


Question:
VSCode Version: 1.6.0 OS Version: OSX 10.11.6 *.ini files comments-line starts with the SEMI-COLON. but VSCode has insert (or remove) the HASHMARK.
Pull request pushed, thanks a lot !

<del> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>fileTypes</key> <array> <string>ini</string> <string>conf</string> </array> <key>keyEquivalent</key> <string>^~I</string> <key>name</key> <string>Ini</string> <key>patterns</key> <array> <dict> <key>begin</key> <string>(^[ t]+)?(?=#)</string> <key>beginCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.whitespace.comment.leading.ini</string> </dict> </dict> <key>end</key> <string>(?!G)</string> <key>patterns</key> <array> <dict> <key>begin</key> <string>#</string> <key>beginCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.comment.ini</string> </dict> </dict> <key>end</key> <string>n</string> <key>name</key> <string>comment.line.number-sign.ini</string> </dict> </array> </dict> <dict> <key>begin</key> <string>(^[ t]+)?(?=;)</string> <key>beginCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.whitespace.comment.leading.ini</string> </dict> </dict> <key>end</key> <string>(?!G)</string> <key>patterns</key> <array> <dict> <key>begin</key> <string>;</string> <key>beginCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.comment.ini</string> </dict> </dict> <key>end</key> <string>n</string> <key>name</key> <string>comment.line.semicolon.ini</string> </dict> </array> </dict> <dict> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>keyword.other.definition.ini</string> </dict> <key>2</key> <dict> <key>name</key> <string>punctuation.separator.key-value.ini</string> </dict> </dict> <key>match</key> <string>b([a-zA-Z0-9_.-]+)bs*(=)</string> </dict> <dict> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.entity.ini</string> </dict> <key>3</key> <dict> <key>name</key> <string>punctuation.definition.entity.ini</string> </dict> </dict> <key>match</key> <string>^([)(.*?)(])</string> <key>name</key> <string>entity.name.section.group-title.ini</string> </dict> <dict> <key>begin</key> <string>'</string> <key>beginCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.begin.ini</string> </dict> </dict> <key>end</key> <string>'</string> <key>endCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.end.ini</string> </dict> </dict> <key>name</key> <string>string.quoted.single.ini</string> <key>patterns</key> <array> <dict> <key>match</key> <string>.</string> <key>name</key> <string>constant.character.escape.ini</string> </dict> </array> </dict> <dict> <key>begin</key> <string>"</string> <key>beginCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.begin.ini</string> </dict> </dict> <key>end</key> <string>"</string> <key>endCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.end.ini</string> </dict> </dict> <key>name</key> <string>string.quoted.double.ini</string> </dict> </array> <key>scopeName</key> <string>source.ini</string> <key>uuid</key> <string>77DC23B6-8A90-11D9-BAA4-000A9584EC8C</string> </dict> </plist> </del>  No newline at end of file


Question:
VSCode Version: 1.6.0 OS Version: OSX 10.11.6 *.ini files comments-line starts with the SEMI-COLON. but VSCode has insert (or remove) the HASHMARK.
Pull request pushed, thanks a lot !

<ins> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>fileTypes</key> <array> <string>ini</string> <string>INI</string> <string>inf</string> <string>INF</string> <string>reg</string> <string>REG</string> <string>lng</string> <string>cfg</string> <string>CFG</string> <string>url</string> <string>URL</string> <string>.editorconfig</string> </array> <key>name</key> <string>INI</string> <key>patterns</key> <array> <dict> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.comment.ini</string> </dict> </dict> <key>match</key> <string>^s*(;|#).*$n?</string> <key>name</key> <string>comment.line.semicolon.ini</string> </dict> <dict> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.section.ini</string> </dict> <key>2</key> <dict> <key>name</key> <string>entity.section.ini</string> </dict> <key>3</key> <dict> <key>name</key> <string>punctuation.definition.section.ini</string> </dict> </dict> <key>match</key> <string>^s*([)(.*?)(])</string> <key>name</key> <string>meta.tag.section.ini</string> </dict> <dict> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>meta.property.ini</string> </dict> <key>2</key> <dict> <key>name</key> <string>punctuation.definition.quote.ini</string> </dict> <key>3</key> <dict> <key>name</key> <string>keyword.name.ini</string> </dict> <key>4</key> <dict> <key>name</key> <string>punctuation.definition.quote.ini</string> </dict> <key>5</key> <dict> <key>name</key> <string>punctuation.definition.equals.ini</string> </dict> <key>6</key> <dict> <key>name</key> <string>meta.value.ini</string> </dict> <key>7</key> <dict> <key>name</key> <string>punctuation.definition.quote.ini</string> </dict> <key>8</key> <dict> <key>name</key> <string>string.name.value.ini</string> </dict> <key>9</key> <dict> <key>name</key> <string>punctuation.definition.quote.ini</string> </dict> <key>10</key> <dict> <key>name</key> <string>comment.declarationline.semicolon.ini</string> </dict> </dict> <key>match</key> <string>^(s*(["']?)(.+?)(2)s*(=))?s*((["']?)(.*?)(7))s*(;.*)?$n?</string> <key>name</key> <string>meta.declaration.ini</string> </dict> </array> <key>scopeName</key> <string>source.ini</string> <key>uuid</key> <string>957acd74-6d7c-4732-a25b-5f66a1e637cd</string> </dict> </plist> </ins>


Question:
VSCode Version: 1.6.0 OS Version: OSX 10.11.6 *.ini files comments-line starts with the SEMI-COLON. but VSCode has insert (or remove) the HASHMARK.
Pull request pushed, thanks a lot !

<ins> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>fileTypes</key> <array> <string>ini</string> <string>conf</string> </array> <key>keyEquivalent</key> <string>^~I</string> <key>name</key> <string>Ini</string> <key>patterns</key> <array> <dict> <key>begin</key> <string>(^[ t]+)?(?=#)</string> <key>beginCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.whitespace.comment.leading.ini</string> </dict> </dict> <key>end</key> <string>(?!G)</string> <key>patterns</key> <array> <dict> <key>begin</key> <string>#</string> <key>beginCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.comment.ini</string> </dict> </dict> <key>end</key> <string>n</string> <key>name</key> <string>comment.line.number-sign.ini</string> </dict> </array> </dict> <dict> <key>begin</key> <string>(^[ t]+)?(?=;)</string> <key>beginCaptures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.whitespace.comment.leading.ini</string> </dict> </dict> <key>end</key> <string>(?!G)</string> <key>patterns</key> <array> <dict> <key>begin</key> <string>;</string> <key>beginCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.comment.ini</string> </dict> </dict> <key>end</key> <string>n</string> <key>name</key> <string>comment.line.semicolon.ini</string> </dict> </array> </dict> <dict> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>keyword.other.definition.ini</string> </dict> <key>2</key> <dict> <key>name</key> <string>punctuation.separator.key-value.ini</string> </dict> </dict> <key>match</key> <string>b([a-zA-Z0-9_.-]+)bs*(=)</string> </dict> <dict> <key>captures</key> <dict> <key>1</key> <dict> <key>name</key> <string>punctuation.definition.entity.ini</string> </dict> <key>3</key> <dict> <key>name</key> <string>punctuation.definition.entity.ini</string> </dict> </dict> <key>match</key> <string>^([)(.*?)(])</string> <key>name</key> <string>entity.name.section.group-title.ini</string> </dict> <dict> <key>begin</key> <string>'</string> <key>beginCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.begin.ini</string> </dict> </dict> <key>end</key> <string>'</string> <key>endCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.end.ini</string> </dict> </dict> <key>name</key> <string>string.quoted.single.ini</string> <key>patterns</key> <array> <dict> <key>match</key> <string>.</string> <key>name</key> <string>constant.character.escape.ini</string> </dict> </array> </dict> <dict> <key>begin</key> <string>"</string> <key>beginCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.begin.ini</string> </dict> </dict> <key>end</key> <string>"</string> <key>endCaptures</key> <dict> <key>0</key> <dict> <key>name</key> <string>punctuation.definition.string.end.ini</string> </dict> </dict> <key>name</key> <string>string.quoted.double.ini</string> </dict> </array> <key>scopeName</key> <string>source.properties</string> <key>uuid</key> <string>77DC23B6-8A90-11D9-BAA4-000A9584EC8C</string> </dict> </plist> </ins>  No newline at end of file


Question:
VSCode Version: Code 1.7.2 (, 2016-11-21T22:14:18.217Z) OS Version: Linux x64 4.8.0-26-generic Focus on debug: ! Focus on extensions: ! Can the bright one be on debug as well?
For me all viewlets show the same feedback once focussed: ! Please clarify the issue you see.
Oh I mean via tab focus.
! still they all look the same to me?
I see what you mean, when you focus into the current active viewlet, the orange bar to the left shows up stronger. I am not sure who this, I think might be the one?
This issue has been closed automatically because it needs more information and has not had recent activity. Please refer to our for filing issues. Thank you for your contributions.
Closing as designed, no plans to change it currently.

} public get lineNumbers(): number[] { return this._lineNumbers; }


Question:
VSCode Version: Code 1.7.2 (, 2016-11-21T22:14:18.217Z) OS Version: Linux x64 4.8.0-26-generic Focus on debug: ! Focus on extensions: ! Can the bright one be on debug as well?
For me all viewlets show the same feedback once focussed: ! Please clarify the issue you see.
Oh I mean via tab focus.
! still they all look the same to me?
I see what you mean, when you focus into the current active viewlet, the orange bar to the left shows up stronger. I am not sure who this, I think might be the one?
This issue has been closed automatically because it needs more information and has not had recent activity. Please refer to our for filing issues. Thank you for your contributions.
Closing as designed, no plans to change it currently.

const renderLineInput: RenderLineInput = new RenderLineInput(true, true, lineRenderingData.content, lineRenderingData.continuesWithWrappedLine, lineRenderingData.isBasicASCII, lineRenderingData.containsRTL, 0, lineRenderingData.tokens, actualInlineDecorations, lineRenderingData.tabSize, lineRenderingData.startVisibleColumn,


Question:
VSCode Version: Code 1.7.2 (, 2016-11-21T22:14:18.217Z) OS Version: Linux x64 4.8.0-26-generic Focus on debug: ! Focus on extensions: ! Can the bright one be on debug as well?
For me all viewlets show the same feedback once focussed: ! Please clarify the issue you see.
Oh I mean via tab focus.
! still they all look the same to me?
I see what you mean, when you focus into the current active viewlet, the orange bar to the left shows up stronger. I am not sure who this, I think might be the one?
This issue has been closed automatically because it needs more information and has not had recent activity. Please refer to our for filing issues. Thank you for your contributions.
Closing as designed, no plans to change it currently.

} else if (minimapSide === 'right') { this._rootDomNode.style.marginLeft = '0px'; } <ins> this._rootDomNode.style.zIndex = '11'; </ins> } public getId(): string {


Question:
VSCode Version: 1.7.2 OS Version: Windows Server 2008/2012 Steps to Reproduce: No shortcut (underline) for flie right click context menu. ! Such underline shortcut is very useful to fast open the file with VSCode with keyboard.
Are there any recommendations/specifications as to what the shortcut should be for this?
I think the installer is not in the repo ;)

NameVersion: product.win32NameVersion, ExeBasename: product.nameShort, RegValueName: product.win32RegValueName, <ins> ShellNameShort: product.win32ShellNameShort, </ins> AppMutex: product.win32MutexName, AppId: product.win32AppId, AppUserId: product.win32AppUserModelId,


Question:
VSCode Version: 1.7.2 OS Version: Windows Server 2008/2012 Steps to Reproduce: No shortcut (underline) for flie right click context menu. ! Such underline shortcut is very useful to fast open the file with VSCode with keyboard.
Are there any recommendations/specifications as to what the shortcut should be for this?
I think the installer is not in the repo ;)

Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}bin"; Tasks: addtopath; Check: NeedsAddPath(ExpandConstant('{app}bin')) <del> Root: HKCU; Subkey: "SOFTWAREClasses*shell{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "Open with {#NameShort}"; Tasks: addcontextmenufiles; Flags: uninsdeletekey </del> <ins> Root: HKCU; Subkey: "SOFTWAREClasses*shell{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "Open with {#ShellNameShort}"; Tasks: addcontextmenufiles; Flags: uninsdeletekey </ins> Root: HKCU; Subkey: "SOFTWAREClasses*shell{#RegValueName}"; ValueType: expandsz; ValueName: "Icon"; ValueData: "{app}{#ExeBasename}.exe"; Tasks: addcontextmenufiles Root: HKCU; Subkey: "SOFTWAREClasses*shell{#RegValueName}command"; ValueType: expandsz; ValueName: ""; ValueData: """{app}{#ExeBasename}.exe"" ""%1"""; Tasks: addcontextmenufiles <del> Root: HKCU; Subkey: "SOFTWAREClassesdirectoryshell{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "Open with {#NameShort}"; Tasks: addcontextmenufolders; Flags: uninsdeletekey </del> <ins> Root: HKCU; Subkey: "SOFTWAREClassesdirectoryshell{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "Open with {#ShellNameShort}"; Tasks: addcontextmenufolders; Flags: uninsdeletekey </ins> Root: HKCU; Subkey: "SOFTWAREClassesdirectoryshell{#RegValueName}"; ValueType: expandsz; ValueName: "Icon"; ValueData: "{app}{#ExeBasename}.exe"; Tasks: addcontextmenufolders Root: HKCU; Subkey: "SOFTWAREClassesdirectoryshell{#RegValueName}command"; ValueType: expandsz; ValueName: ""; ValueData: """{app}{#ExeBasename}.exe"" ""%V"""; Tasks: addcontextmenufolders <del> Root: HKCU; Subkey: "SOFTWAREClassesdirectorybackgroundshell{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "Open with {#NameShort}"; Tasks: addcontextmenufolders; Flags: uninsdeletekey </del> <ins> Root: HKCU; Subkey: "SOFTWAREClassesdirectorybackgroundshell{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "Open with {#ShellNameShort}"; Tasks: addcontextmenufolders; Flags: uninsdeletekey </ins> Root: HKCU; Subkey: "SOFTWAREClassesdirectorybackgroundshell{#RegValueName}"; ValueType: expandsz; ValueName: "Icon"; ValueData: "{app}{#ExeBasename}.exe"; Tasks: addcontextmenufolders Root: HKCU; Subkey: "SOFTWAREClassesdirectorybackgroundshell{#RegValueName}command"; ValueType: expandsz; ValueName: ""; ValueData: """{app}{#ExeBasename}.exe"" ""%V"""; Tasks: addcontextmenufolders <del> Root: HKCU; Subkey: "SOFTWAREClassesDriveshell{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "Open with {#NameShort}"; Tasks: addcontextmenufolders; Flags: uninsdeletekey </del> <ins> Root: HKCU; Subkey: "SOFTWAREClassesDriveshell{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "Open with {#ShellNameShort}"; Tasks: addcontextmenufolders; Flags: uninsdeletekey </ins> Root: HKCU; Subkey: "SOFTWAREClassesDriveshell{#RegValueName}"; ValueType: expandsz; ValueName: "Icon"; ValueData: "{app}{#ExeBasename}.exe"; Tasks: addcontextmenufolders Root: HKCU; Subkey: "SOFTWAREClassesDriveshell{#RegValueName}command"; ValueType: expandsz; ValueName: ""; ValueData: """{app}{#ExeBasename}.exe"" ""%V"""; Tasks: addcontextmenufolders


Question:
VSCode Version: 1.7.2 OS Version: Windows Server 2008/2012 Steps to Reproduce: No shortcut (underline) for flie right click context menu. ! Such underline shortcut is very useful to fast open the file with VSCode with keyboard.
Are there any recommendations/specifications as to what the shortcut should be for this?
I think the installer is not in the repo ;)

"win32RegValueName": "CodeOSS", "win32AppId": "{{E34003BB-9E10-4501-8C11-BE3FAA83F23F}", "win32AppUserModelId": "Microsoft.CodeOSS", <ins> "win32ShellNameShort": "C&ode - OSS", </ins> "darwinBundleIdentifier": "com.visualstudio.code.oss", "reportIssueUrl": "https://github.com/Microsoft/vscode/issues/new", "urlProtocol": "code-oss"


Question:
Steps to Reproduce: panel, maximizes the panel out, the panel is no longer maximized but still much larger than usual panel, maximizes the panel
Fixed by

this.statusbarHeight = isStatusbarHidden ? 0 : this.partLayoutInfo.statusbar.height; this.titlebarHeight = isTitlebarHidden ? 0 : this.partLayoutInfo.titlebar.height / getZoomFactor(); // adjust for zoom prevention <ins> const previousMaxPanelHeight = this.sidebarHeight - MIN_EDITOR_PART_HEIGHT; </ins> this.sidebarHeight = this.workbenchSize.height - this.statusbarHeight - this.titlebarHeight; let sidebarSize = new Dimension(sidebarWidth, this.sidebarHeight);


Question:
Steps to Reproduce: panel, maximizes the panel out, the panel is no longer maximized but still much larger than usual panel, maximizes the panel
Fixed by

const maxPanelHeight = sidebarSize.height - MIN_EDITOR_PART_HEIGHT; if (isPanelHidden) { panelHeight = 0; <ins> } else if (this.panelHeight === previousMaxPanelHeight) { panelHeight = maxPanelHeight; </ins> } else if (this.panelHeight > 0) { panelHeight = Math.min(maxPanelHeight, Math.max(this.partLayoutInfo.panel.minHeight, this.panelHeight)); } else {


Question:
Test item VSCode Version: Code - Insiders 1.9.0-insider (, 2017-01-24T10:29:13.076Z) OS Version: Darwin x64 15.6.0 Extensions: None Steps to Reproduce: with: after in some size : : Same goes for single line expansions, although there it is not as bad because it is just one arrow-left key to correct.
Another CSS example is . Pressing when done should land the caret at the end of the line.
This is due to the way snippets get expanded. Take the below example of a snippet When you use the above in any file and after you enter the placeholder followed by ENTER, the cursor remains where the entry was made and does not go to end of line Is there any way to get the cursor to the end of the snippet after completion?
Yes, is the final cursor position which default to the end of the snippet. The sample above it is used to place the cursor elsewhere. Changing above to should do it.
! So the being the final cursor position is a standard behavior for snippets in general or is this VS Code specific rule? The reason I ask is, in order to fix this bug if I make an update to then I wonder if I will be breaking any other editor that uses emmet If it is vscode specific, then I'll make the fix on our end
That's a good question. It is default Textmate behaviour but I don't know if emmet is also Textmate...
emmet does borrow from text mate
Very cool!

import * as strings from 'vs/base/common/strings'; import { Range } from 'vs/editor/common/core/range'; import * as editorCommon from 'vs/editor/common/editorCommon'; <del> import * as collections from 'vs/base/common/collections'; </del> import { Marker, Variable, Placeholder, Text, SnippetParser } from 'vs/editor/contrib/snippet/common/snippetParser'; export interface IIndentationNormalizer {


Question:
Test item VSCode Version: Code - Insiders 1.9.0-insider (, 2017-01-24T10:29:13.076Z) OS Version: Darwin x64 15.6.0 Extensions: None Steps to Reproduce: with: after in some size : : Same goes for single line expansions, although there it is not as bad because it is just one arrow-left key to correct.
Another CSS example is . Pressing when done should land the caret at the end of the line.
This is due to the way snippets get expanded. Take the below example of a snippet When you use the above in any file and after you enter the placeholder followed by ENTER, the cursor remains where the entry was made and does not go to end of line Is there any way to get the cursor to the end of the snippet after completion?
Yes, is the final cursor position which default to the end of the snippet. The sample above it is used to place the cursor elsewhere. Changing above to should do it.
! So the being the final cursor position is a standard behavior for snippets in general or is this VS Code specific rule? The reason I ask is, in order to fix this bug if I make an update to then I wonder if I will be breaking any other editor that uses emmet If it is vscode specific, then I'll make the fix on our end
That's a good question. It is default Textmate behaviour but I don't know if emmet is also Textmate...
emmet does borrow from text mate
Very cool!

} static fromEmmet(template: string): CodeSnippet { <del> return EmmetSnippetParser.parse(template); </del> <ins> let matchFinalStops = template.match(/${0}|$0/g); if (!matchFinalStops || matchFinalStops.length === 1) { return CodeSnippet.fromTextmate(template); } // Emmet sometimes returns snippets with multiple ${0} // In such cases, replace ${0} with incremental tab stops const snippetMarkers: Marker[] = new SnippetParser(true, false).parse(template) || []; let getMaxTabStop = (markers: Marker[]): number => { let currentMaxTabStop = -1; markers.forEach(marker => { if (marker instanceof Placeholder && /^d+$/.test(marker['name'])) { let currentTabStop = Number(marker['name']); let nestedMaxTabStop = getMaxTabStop(marker['defaultValue'] || []); currentMaxTabStop = Math.max(currentMaxTabStop, currentTabStop, nestedMaxTabStop); } }); return currentMaxTabStop; }; let maxTabStop = getMaxTabStop(snippetMarkers); let setNextTabStop = (markers: Marker[]) => { markers.forEach(marker => { if (marker instanceof Placeholder) { if (marker['name'] === '0') { marker['name'] = ++maxTabStop + ''; } setNextTabStop(marker['defaultValue'] || []); } }); }; setNextTabStop(snippetMarkers); const snippet = new CodeSnippet(); _fillCodeSnippetFromMarker(snippet, snippetMarkers); return snippet; </ins> } public lines: string[] = [];


Question:
Test item VSCode Version: Code - Insiders 1.9.0-insider (, 2017-01-24T10:29:13.076Z) OS Version: Darwin x64 15.6.0 Extensions: None Steps to Reproduce: with: after in some size : : Same goes for single line expansions, although there it is not as bad because it is just one arrow-left key to correct.
Another CSS example is . Pressing when done should land the caret at the end of the line.
This is due to the way snippets get expanded. Take the below example of a snippet When you use the above in any file and after you enter the placeholder followed by ENTER, the cursor remains where the entry was made and does not go to end of line Is there any way to get the cursor to the end of the snippet after completion?
Yes, is the final cursor position which default to the end of the snippet. The sample above it is used to place the cursor elsewhere. Changing above to should do it.
! So the being the final cursor position is a standard behavior for snippets in general or is this VS Code specific rule? The reason I ask is, in order to fix this bug if I make an update to then I wonder if I will be breaking any other editor that uses emmet If it is vscode specific, then I'll make the fix on our end
That's a good question. It is default Textmate behaviour but I don't know if emmet is also Textmate...
emmet does borrow from text mate
Very cool!

for (const originalPlaceHolder of this.placeHolders) { let resultOccurences = []; <del> for (let {startLineNumber, startColumn, endLineNumber, endColumn} of originalPlaceHolder.occurences) { </del> <ins> for (let { startLineNumber, startColumn, endLineNumber, endColumn } of originalPlaceHolder.occurences) { </ins> if (startColumn > 1 || startLineNumber === 1) { // placeholders that aren't at the beginning of new snippet lines


Question:
Test item VSCode Version: Code - Insiders 1.9.0-insider (, 2017-01-24T10:29:13.076Z) OS Version: Darwin x64 15.6.0 Extensions: None Steps to Reproduce: with: after in some size : : Same goes for single line expansions, although there it is not as bad because it is just one arrow-left key to correct.
Another CSS example is . Pressing when done should land the caret at the end of the line.
This is due to the way snippets get expanded. Take the below example of a snippet When you use the above in any file and after you enter the placeholder followed by ENTER, the cursor remains where the entry was made and does not go to end of line Is there any way to get the cursor to the end of the snippet after completion?
Yes, is the final cursor position which default to the end of the snippet. The sample above it is used to place the cursor elsewhere. Changing above to should do it.
! So the being the final cursor position is a standard behavior for snippets in general or is this VS Code specific rule? The reason I ask is, in order to fix this bug if I make an update to then I wonder if I will be breaking any other editor that uses emmet If it is vscode specific, then I'll make the fix on our end
That's a good question. It is default Textmate behaviour but I don't know if emmet is also Textmate...
emmet does borrow from text mate
Very cool!

placeHolders: IParsedLinePlaceHolderInfo[]; } <del> const InternalFormatSnippetParser = new class implements ISnippetParser { private _lastGeneratedId: number; private _snippet: CodeSnippet; parse(template: string): CodeSnippet { this._lastGeneratedId = 0; this._snippet = new CodeSnippet(); this.parseTemplate(template); return this._snippet; } private parseTemplate(template: string): void { var placeHoldersMap: collections.IStringDictionary<IPlaceHolder> = Object.create(null); var i: number, len: number, j: number, lenJ: number, templateLines = template.split('n'); for (i = 0, len = templateLines.length; i < len; i++) { var parsedLine = this.parseLine(templateLines[i], (id: string) => { if (placeHoldersMap[id]) { return placeHoldersMap[id].value; } return ''; }); for (j = 0, lenJ = parsedLine.placeHolders.length; j < lenJ; j++) { var linePlaceHolder = parsedLine.placeHolders[j]; var occurence = new Range(i + 1, linePlaceHolder.startColumn, i + 1, linePlaceHolder.endColumn); var placeHolder: IPlaceHolder; if (placeHoldersMap[linePlaceHolder.id]) { placeHolder = placeHoldersMap[linePlaceHolder.id]; } else { placeHolder = { id: linePlaceHolder.id, value: linePlaceHolder.value, occurences: [] }; this._snippet.placeHolders.push(placeHolder); placeHoldersMap[linePlaceHolder.id] = placeHolder; } placeHolder.occurences.push(occurence); } this._snippet.lines.push(parsedLine.line); } // Named variables (e.g. {greeting} and {greeting:Hello}) are sorted first, followed by // tab-stops and numeric variables (e.g. $1, $2, ${3:foo}) which are sorted in ascending order this._snippet.placeHolders.sort((a, b) => { let nonIntegerId = (v: IPlaceHolder) => !(/^d+$/).test(v.id); let isFinishPlaceHolder = (v: IPlaceHolder) => v.id === '' && v.value === ''; // Sort finish placeholder last if (isFinishPlaceHolder(a)) { return 1; } else if (isFinishPlaceHolder(b)) { return -1; } // Sort named placeholders first if (nonIntegerId(a) && nonIntegerId(b)) { return 0; } else if (nonIntegerId(a)) { return -1; } else if (nonIntegerId(b)) { return 1; } if (a.id === b.id) { return 0; } return Number(a.id) < Number(b.id) ? -1 : 1; }); if (this._snippet.placeHolders.length > 0 && this._snippet.placeHolders[this._snippet.placeHolders.length - 1].value === '') { this._snippet.finishPlaceHolderIndex = this._snippet.placeHolders.length - 1; } } private parseLine(line: string, findDefaultValueForIdFromPrevLines: (id: string) => string): IParsedLine { // Placeholder 0 is the entire line var placeHolderStack: { placeHolderId: string; placeHolderText: string; }[] = [{ placeHolderId: '', placeHolderText: '' }]; var placeHolders: IParsedLinePlaceHolderInfo[] = []; const findDefaultValueForId = (id) => { const result = findDefaultValueForIdFromPrevLines(id); if (result) { return result; } for (const placeHolder of placeHolders) { if (placeHolder.id === id && placeHolder.value) { return placeHolder.value; } } return ''; }; var i = 0; var len = line.length; var resultIndex = 0; while (i < len) { var restOfLine = line.substr(i); // Look for the start of a placeholder {{ if (/^{{/.test(restOfLine)) { i += 2; placeHolderStack.push({ placeHolderId: '', placeHolderText: '' }); // Look for id var matches = restOfLine.match(/^{{(w+):/); if (Array.isArray(matches) && matches.length === 2) { placeHolderStack[placeHolderStack.length - 1].placeHolderId = matches[1]; i += matches[1].length + 1; // +1 to account for the : at the end of the id } continue; } // Look for the end of a placeholder. placeHolderStack[0] is the top-level line. if (placeHolderStack.length > 1 && /^}}/.test(restOfLine)) { i += 2; if (placeHolderStack[placeHolderStack.length - 1].placeHolderId.length === 0) { // This placeholder did not have an explicit id placeHolderStack[placeHolderStack.length - 1].placeHolderId = placeHolderStack[placeHolderStack.length - 1].placeHolderText; if (placeHolderStack[placeHolderStack.length - 1].placeHolderId === '_') { // This is just an empty tab stop placeHolderStack[placeHolderStack.length - 1].placeHolderId = 'TAB_STOP_' + String(++this._lastGeneratedId); placeHolderStack[placeHolderStack.length - 1].placeHolderText = ''; --resultIndex; // Roll back one iteration of the result index as we made the text empty } } if (placeHolderStack[placeHolderStack.length - 1].placeHolderText.length === 0) { // This placeholder is empty or was a mirror var defaultValue = findDefaultValueForId(placeHolderStack[placeHolderStack.length - 1].placeHolderId); placeHolderStack[placeHolderStack.length - 1].placeHolderText = defaultValue; resultIndex += defaultValue.length; } placeHolders.push({ id: placeHolderStack[placeHolderStack.length - 1].placeHolderId, value: placeHolderStack[placeHolderStack.length - 1].placeHolderText, startColumn: resultIndex + 1 - placeHolderStack[placeHolderStack.length - 1].placeHolderText.length, endColumn: resultIndex + 1 }); // Insert our text into the previous placeholder placeHolderStack[placeHolderStack.length - 2].placeHolderText += placeHolderStack[placeHolderStack.length - 1].placeHolderText; placeHolderStack.pop(); continue; } // Look for escapes if (/^./.test(restOfLine)) { if (restOfLine.charAt(1) === '{' || restOfLine.charAt(1) === '}' || restOfLine.charAt(1) === '') { ++i; // Skip the escape slash and take the character literally } else { // invalid escapes placeHolderStack[placeHolderStack.length - 1].placeHolderText += line.charAt(i); ++resultIndex; ++i; } } //This is an escape sequence or not a special character, just insert it placeHolderStack[placeHolderStack.length - 1].placeHolderText += line.charAt(i); ++resultIndex; ++i; } // Sort the placeholder in order of apperance: placeHolders.sort((a, b) => { if (a.startColumn < b.startColumn) { return -1; } if (a.startColumn > b.startColumn) { return 1; } if (a.endColumn < b.endColumn) { return -1; } if (a.endColumn > b.endColumn) { return 1; } return 0; }); return { line: placeHolderStack[0].placeHolderText, placeHolders: placeHolders }; } }; const EmmetSnippetParser = new class implements ISnippetParser { parse(template: string): CodeSnippet { template = _convertExternalSnippet(template, ExternalSnippetType.EmmetSnippet); return InternalFormatSnippetParser.parse(template); } }; export enum ExternalSnippetType { TextMateSnippet, EmmetSnippet } // This is used for both TextMate and Emmet function _convertExternalSnippet(snippet: string, snippetType: ExternalSnippetType): string { var openBraces = 0; var convertedSnippet = ''; var i = 0; var len = snippet.length; while (i < len) { var restOfLine = snippet.substr(i); // Cursor tab stop if (/^$0/.test(restOfLine)) { i += 2; convertedSnippet += snippetType === ExternalSnippetType.EmmetSnippet ? '{{_}}' : '{{}}'; continue; } if (/^${0}/.test(restOfLine)) { i += 4; convertedSnippet += snippetType === ExternalSnippetType.EmmetSnippet ? '{{_}}' : '{{}}'; continue; } // Tab stops var matches = restOfLine.match(/^$(d+)/); if (Array.isArray(matches) && matches.length === 2) { i += 1 + matches[1].length; convertedSnippet += '{{' + matches[1] + ':}}'; continue; } matches = restOfLine.match(/^${(d+)}/); if (Array.isArray(matches) && matches.length === 2) { i += 3 + matches[1].length; convertedSnippet += '{{' + matches[1] + ':}}'; continue; } // Open brace patterns placeholder if (/^${/.test(restOfLine)) { i += 2; ++openBraces; convertedSnippet += '{{'; continue; } // Close brace patterns placeholder if (openBraces > 0 && /^}/.test(restOfLine)) { i += 1; --openBraces; convertedSnippet += '}}'; continue; } // Escapes if (/^./.test(restOfLine)) { i += 2; if (/^$/.test(restOfLine)) { convertedSnippet += '$'; } else { convertedSnippet += restOfLine.substr(0, 2); } continue; } // Escape braces that don't belong to a placeholder matches = restOfLine.match(/^({|})/); if (Array.isArray(matches) && matches.length === 2) { i += 1; convertedSnippet += '' + matches[1]; continue; } i += 1; convertedSnippet += restOfLine.charAt(0); } return convertedSnippet; }; </del> function _resolveSnippetVariables(marker: Marker[], resolver: ISnippetVariableResolver) { if (resolver) { const stack = [...marker];


Question:
This must have broken recently: !
The content is actually there in the DOM: !
Jan candidate?

} public getHeight(tree: ITree, element: any): number { <del> if (element instanceof Variable) { </del> <ins> if (element instanceof Variable && (element.hasChildren || (element.name !== null))) { </ins> return ReplExpressionsRenderer.LINE_HEIGHT_PX; } if (element instanceof Expression && element.hasChildren) {


Question:
<!-- Do you have a question? Please ask it on --- VSCode Version: 1.9.1 OS Version: Win 7/64 Home Premium SP 1 Please introduce a setting (ideally changeable via API) to allow an output window (panel) to NOT word-wrap. Reason: I've modified the TODO Parser extension () to write its output in tabular form, which is more concise length-wise. However, the unavoidable word wrapping in the output window usually messes up the formatting. In such cases, it would be preferable for an extension to be able to open an output window that DIDN'T word wrap, and allowed the user to scroll horizontally if required. This suggestion was mentioned as an aside at
This should be possible using language specific settings "[Log]": { "editor.minimap.enabled": false }
I think this issue was closed in error. It is not about the minimap, and changing minimap settings does not affect the output window's wrapping. This doesn't make any difference either: "[Log]":{"editor.wordWrap": "off"} Here's an image of the output window as it currently behaves with a single long line of text. I'd like the option to have this displayed as one line with scrollbar. !
Thanks for reopening. :)

options.minimap = { enabled: false }; const outputConfig = this.baseConfigurationService.getValue('[Log]'); <del> if (outputConfig && outputConfig['editor.minimap.enabled']) { options.minimap = { enabled: true }; </del> <ins> if (outputConfig) { if (outputConfig['editor.minimap.enabled']) { options.minimap = { enabled: true }; } if ('editor.wordWrap' in outputConfig) { options.wordWrap = outputConfig['editor.wordWrap']; } </ins> } return options;


Question:
From For a file such as: We currently do not recognize the file as python even though the internal python extension's contribution matches. The reason is that the entire first line has to match: This seems inconsistent with how TextMate uses , and some of our grammars use patterns that do not work well with this restriction, such as : which fails to match:
and Adding you since I had trouble tracking down who implemented the logic in originally. Do you know why we currently require the entire line to match? Can we do like the xml grammar and add to the end of some of the contributions?
sorry I cannot answer this question, the code was a long time ago (I think by ) and since then has not been touched. I am fine changing this so that we align with TextMate's way of doing things. Happy to review a PR if you are interested.

continue; } <del> // Make sure the entire line matches, not just a subpart. </del> let matches = firstLine.match(association.firstline); <del> if (matches && matches.length > 0 && matches[0].length === firstLine.length) { </del> <ins> if (matches && matches.length > 0) { </ins> return association.mime; } }


Question:
From For a file such as: We currently do not recognize the file as python even though the internal python extension's contribution matches. The reason is that the entire first line has to match: This seems inconsistent with how TextMate uses , and some of our grammars use patterns that do not work well with this restriction, such as : which fails to match:
and Adding you since I had trouble tracking down who implemented the logic in originally. Do you know why we currently require the entire line to match? Can we do like the xml grammar and add to the end of some of the contributions?
sorry I cannot answer this question, the code was a long time ago (I think by ) and since then has not been touched. I am fine changing this so that we align with TextMate's way of doing things. Happy to review a PR if you are interested.

guess = guessMimeTypes('Randomfile.noregistration', 'RegexesAreNice'); assert.deepEqual(guess, ['text/nice-regex', 'text/plain']); <del> guess = guessMimeTypes('Randomfile.noregistration', 'RegexesAreNiceee'); </del> <ins> guess = guessMimeTypes('Randomfile.noregistration', 'RegexesAreNotNice'); </ins> assert.deepEqual(guess, ['application/unknown']); guess = guessMimeTypes('Codefile', 'RegexesAreNice');


Question:
When I put a fenced code area in the middle of a bulleted list, I notice that list entries following the fenced code area lose their formatting, like so: ! Is this intentional behavior? Am I formatting my markdown wrong? Is there any way that I can have formatting in both the fenced code block and the subsequent list items?
The current formatting is somewhat off: the second list is treated as code block. ! This is expected and is in keeping with the common mark spec. The correct formatting would be to indent fenced code block as well: javascript for(var i = 0; i < 5; i++){ ("Hello"); } ! Our syntax coloring is off here though, with the indented code block no longer being highlighted as js
Okay. I didn't read the markdown specification closely enough to understand that the code block should be highlighted as well. I had tried indenting the code block, but when the indented code block lost syntax highlighting, I thought I was doing something incorrect. Should I update the title of this issue to indicate that the real problem is that indented code blocks lose formatting?
Thanks I've just gone ahead and updated the title of the issue to: "Markdown Fenced Code Block in Indented List Not Properly Highlighted". If you do not feel that the new title accurately captures the bug here, feel free to update the title again
New title looks good. Thanks!
I made an extension to fix this Surely it would cause side effects but it is worth it for me at the moment.

<array> <dict> <key>include</key> <del> <string>#list_paragraph</string> </del> <ins> <string>#block</string> </ins> </dict> <dict> <key>include</key> <del> <string>#block</string> </del> <ins> <string>#list_paragraph</string> </ins> </dict> </array> <key>while</key>


Question:
VSCode Version: 1.10.2 (code1.10.2-) OS Version: Ubuntu 16.04 LTS Steps to Reproduce: home directory w/ on AFS. . the following error: Code starts normally if moving the directory to a local filesystem and symlinking it in. I would reckon that it's probably not portable to put the kind of thing that is in the homedir, as it may very well be mounted in fun ways or on network filesystems. This behaviour is new since the previous release I ran, which I believe was .
Squinting at the it seems like sockets and other runtime files shall be created in , which on my system is down in .
Not sure what to do here. Best I can do is to recommend not using AFS. Does it support socket files?
I don't have any choice in AFS for my home directory where the default XDG config directory is located. Sure I could point the config elsewhere, but then I'd lose access to the same configuration across machines which is the whole point of a shared homedir. AFS doesn't support named pipes in the filesystem intentionally as it's a distributed filesystem and the semantics for how they would work across the world is hard to pin down. As far as I interpret the XDG specification, you should not use the config directory for runtime state. They explicitly mention the runtime dir for that. I don't know where in the stack this is done, but it's quite wrong to use the possibly shared homedir for machine-local state. supports things like 's named pipes
Got it, thanks.
the same thing for the socket files in /tmp/ like /tmp/vscode--a2f2-4ba7-8e8c- they should go in $XDGRUNTIMEDIR (if available, if not /tmp is ok). the benefit of $XDGRUNTIMEDIR is it goes away when the user logs out.
The same issue appears with sshfs mounted home directory
We were force to undo this change since it breaks many assumptions at startup, when this variable may or may not be set. Unfortunately, the correct workaround for these cases is to call code with .
Hi! Now 1.17. stopped working on AFS Not sure if the workaround you gave makes sense, as the $XDGRUNTIMEDIR directory gets deleted every time the user restarts. I would be happy if you could fix that. Thanks!
Does the workaround work for you at all?
Thanks for the fast reply. It does work for one session, but settings for example get deleted when I reboot.
Why is that? I don't really know AFS.
Me neither, but what I think right now: The XDGRUNTIMEDIR variable gives something like on my machine, which apparently gets deleted when rebooting or the XDGRUNTIMEDIR changes. I can’t say right now as I am not at my computer. If you call code using your workaround, all user data gets stored in that directory and is inaccessible after reboot. But the problem ia not the user data, it is the .sock file that has trouble with AFS. So it is just this file that needs to be stored somewhere else in a non AFS directory.
Currently the files are within user data dir. So... in your system should they live somewhere else? ?
Yeah, for example. I don’t know what the .sock file does, but if it is not a problem that it is removed after reboot that might be an option. But isn’t that what the pull request did? Just storing the .sock file somewhere else...
Yes, did exactly that, but based on an env variable, which is very problematic in many cases. So, I propose to introduce a cli option to set the socket files location on Linux. So you'd need to launch it as: Would that work for you?
Cool, I would expect that to work for me. Thanks! Let me know if you want me to test.
problematic in what cases? the XDG recommendations are pretty clear and easy to follow. You have a DATA dir, CONFIG dir and RUNTIME dir. There are environment variables to specify the directories or there are defaults when the env vars are not there. What doesn't work in vscode with that setup?
Let's talk Linux only. It makes a big difference in terms of process environment if you open an application from within a shell or using a UI gesture. The shell usually has all you favourite environments, often set up in files or similar (think , ). The process (usually some Gnome or KDE process) which spawns Code using the UI gesture doesn't have this environment because it never went through a shell, never really parsed and interpreted . So, users complain they can't use Node or Go within Code; the real problem is that Code's env doesn't match what their shell has. So: on startup, and only if Code wasn't launched in a shell, Code will the user's shell environment as best as it can. This is possibly a lengthy process (have you ever waited 1-2 seconds until you see that bash prompt?) so we can't have that as part of Code's critical startup sequence, otherwise we risk being slow to start as well. We do it in parallel while Code actually starts up and spawns a window. Eventually, when that env is know, it is promptly applied to all Code's processes. There's a race condition here. You see, we need to know the exact location of the IPC sockets at startup, before any window opens. If is (re)defined in the user's , we can't rely on it to compute the location of the sockets. We must know that value independently of the env loading code path. For the past few months we were relying on reading to determine the sockets paths. For some, this works well. For others, Code breaks in very unrelated ways: if is (re)defined in , there was a race condition between reading that value from and computing the sockets paths. It would often happen that the process which served the socket pointed one way while all other processes pointed the other way. We simply can't have that. One alternative for a fix is to ignore the value coming in from the user's . Do you think this would make sense?
XDGRUNTIMEDIR is typically set by pamsystemd, even before their Desktop Envrionment or login shell is started. If people redefine that in .bashrc (for interactive shells only) a lot of things will break for those shells. just an example of the sockets I have there (i.e. software that would break if I changed tne env var): So in conclusion I have not heard of anyone redefining XDGRUNTIME_DIR for interactive shells only, but if they do that, that's the users mistake to break things intentionally.
Alright, then let's do that: we'll simply ignore it when reading it after startup.

} function getNixIPCHandle(userDataPath: string, type: string): string { <ins> if (process.env['XDG_RUNTIME_DIR']) { return path.join(process.env['XDG_RUNTIME_DIR'], `${pkg.name}-${pkg.version}-${type}.sock`); } </ins> return path.join(userDataPath, `${pkg.version}-${type}.sock`); }


Question:
I love the peek window. It's pretty much the best thing ever. I would love it ever so slightly more if VSCode would auto-focus it and insert the cursor where it belongs. e.g. if I clicked "peek definition", the cursor should be on the definition of what I peeked. This idea seems so obvious I can't believe it's not part of the default implementation, but I know you guys have your reasons for doing things. If there is such a reason, could this at least be made a setting? Thanks guys!
Fiar request. The reasoning for focusing the tree of the left that you might wanna quickly skim through all references/definitions/etc to get fast overview. That's also the reason for changing the peek editor when the focus changes in the list. We could add a command that allows to toggle between the selected reference/def and the peek view and then remember where you have been last
Ah, I understand. Speaking to my own use case, I use peek definition at least 98% of the time that I use the peek window, so at least 98% of the time there's only one file in the tree, and highlighting the tree doesn't make much sense. (I think it's a bit of a UX problem with the "peek all references" - it feels a little too much information in too constrained a space, so I normally do a global search instead - but that's an alternate request.) Your toggle command sounds great to me. I would also love if there was a keyboard shortcut to focus back on the original text document.
maybe the focus should be on the peek editor directly if there is only one entry in the list, that would be very helpful.
Is there any progress being made on this?
Not entirely sure whether it's appropriate to add this here, but I'd also suggest two other things for the peek window that're in the same vein: the "Keep peek editors open even when double clicking their content or when hitting escape" into two. The two aren't really equivalent, especially since double-clicking selects entire words and I'd for example like to be able to that, but still be able to close the window with Esc. 'd suggest changing the tab order of the peek window for the editor to follow the list. That way, when the peek window is opened you can select the appropriate file and Tab into it instead of Shift+Tabbing.
Any push on this? this is a must have. I seriously don't know how people have gone without this.
This is an open source project, this issue is marked as 'help wanted', so how about you?
I'll give it a try, looking for a way to automatically focus on peek window when there is only one entry in the list, according to suggestion. Do you guys think it's a good solution?
I'd say a command to move focus between them and then a setting to define is focused by default is the better solution. That makes the behaviour predictable, e.g I often press Enter when having just one reference I wouldn't want a new line then
fyi - this is the place (and sample) for adding commands that use the peek view widget:
Besides, we still need a setting to define which component will receive focus by default when Peek Window is shown.
Sorry. I'm so far away from having time to learn how to contribute. I'd like to, but I'm still in college working on several other things at the moment. Also, wouldn't even know where to start learning how to build vscode extensions and stuff.
Hi, I'm a heavy user of peek editor. But I accidentally minimize the peek editor window , which means when I click peek definition or declaration or references, there will be just file along with its path that include the definition will display in the first row , and the editor window (which should be the second row) will not. I have tried many ways to get it back to view, but nothing works. And I search all the settings related to peek, but none of them are about how adjust the size of peek editor. Have you ever encountered the same issue? Thanks for your time to view my question.
fyi - I have change the setting to:

overviewRulerBorder, overviewRulerLanes, parameterHints, <ins> peekWidgetFocusInlineEditor, </ins> quickSuggestions, quickSuggestionsDelay, readOnly,


Question:
I love the peek window. It's pretty much the best thing ever. I would love it ever so slightly more if VSCode would auto-focus it and insert the cursor where it belongs. e.g. if I clicked "peek definition", the cursor should be on the definition of what I peeked. This idea seems so obvious I can't believe it's not part of the default implementation, but I know you guys have your reasons for doing things. If there is such a reason, could this at least be made a setting? Thanks guys!
Fiar request. The reasoning for focusing the tree of the left that you might wanna quickly skim through all references/definitions/etc to get fast overview. That's also the reason for changing the peek editor when the focus changes in the list. We could add a command that allows to toggle between the selected reference/def and the peek view and then remember where you have been last
Ah, I understand. Speaking to my own use case, I use peek definition at least 98% of the time that I use the peek window, so at least 98% of the time there's only one file in the tree, and highlighting the tree doesn't make much sense. (I think it's a bit of a UX problem with the "peek all references" - it feels a little too much information in too constrained a space, so I normally do a global search instead - but that's an alternate request.) Your toggle command sounds great to me. I would also love if there was a keyboard shortcut to focus back on the original text document.
maybe the focus should be on the peek editor directly if there is only one entry in the list, that would be very helpful.
Is there any progress being made on this?
Not entirely sure whether it's appropriate to add this here, but I'd also suggest two other things for the peek window that're in the same vein: the "Keep peek editors open even when double clicking their content or when hitting escape" into two. The two aren't really equivalent, especially since double-clicking selects entire words and I'd for example like to be able to that, but still be able to close the window with Esc. 'd suggest changing the tab order of the peek window for the editor to follow the list. That way, when the peek window is opened you can select the appropriate file and Tab into it instead of Shift+Tabbing.
Any push on this? this is a must have. I seriously don't know how people have gone without this.
This is an open source project, this issue is marked as 'help wanted', so how about you?
I'll give it a try, looking for a way to automatically focus on peek window when there is only one entry in the list, according to suggestion. Do you guys think it's a good solution?
I'd say a command to move focus between them and then a setting to define is focused by default is the better solution. That makes the behaviour predictable, e.g I often press Enter when having just one reference I wouldn't want a new line then
fyi - this is the place (and sample) for adding commands that use the peek view widget:
Besides, we still need a setting to define which component will receive focus by default when Peek Window is shown.
Sorry. I'm so far away from having time to learn how to contribute. I'd like to, but I'm still in college working on several other things at the moment. Also, wouldn't even know where to start learning how to build vscode extensions and stuff.
Hi, I'm a heavy user of peek editor. But I accidentally minimize the peek editor window , which means when I click peek definition or declaration or references, there will be just file along with its path that include the definition will display in the first row , and the editor window (which should be the second row) will not. I have tried many ways to get it back to view, but nothing works. And I search all the settings related to peek, but none of them are about how adjust the size of peek editor. Have you ever encountered the same issue? Thanks for your time to view my question.
fyi - I have change the setting to:

3, 0, 3 )), parameterHints: register(new EditorParameterHints()), <ins> peekWidgetFocusInlineEditor: register(new EditorBooleanOption( EditorOption.peekWidgetFocusInlineEditor, 'peekWidgetFocusInlineEditor', false, { description: nls.localize('peekWidgetFocusInlineEditor', "Controls whether to focus the inline editor in the peek widget by default.") } )), </ins> quickSuggestions: register(new EditorQuickSuggestions()), quickSuggestionsDelay: register(new EditorIntOption( EditorOption.quickSuggestionsDelay, 'quickSuggestionsDelay',


Question:
I love the peek window. It's pretty much the best thing ever. I would love it ever so slightly more if VSCode would auto-focus it and insert the cursor where it belongs. e.g. if I clicked "peek definition", the cursor should be on the definition of what I peeked. This idea seems so obvious I can't believe it's not part of the default implementation, but I know you guys have your reasons for doing things. If there is such a reason, could this at least be made a setting? Thanks guys!
Fiar request. The reasoning for focusing the tree of the left that you might wanna quickly skim through all references/definitions/etc to get fast overview. That's also the reason for changing the peek editor when the focus changes in the list. We could add a command that allows to toggle between the selected reference/def and the peek view and then remember where you have been last
Ah, I understand. Speaking to my own use case, I use peek definition at least 98% of the time that I use the peek window, so at least 98% of the time there's only one file in the tree, and highlighting the tree doesn't make much sense. (I think it's a bit of a UX problem with the "peek all references" - it feels a little too much information in too constrained a space, so I normally do a global search instead - but that's an alternate request.) Your toggle command sounds great to me. I would also love if there was a keyboard shortcut to focus back on the original text document.
maybe the focus should be on the peek editor directly if there is only one entry in the list, that would be very helpful.
Is there any progress being made on this?
Not entirely sure whether it's appropriate to add this here, but I'd also suggest two other things for the peek window that're in the same vein: the "Keep peek editors open even when double clicking their content or when hitting escape" into two. The two aren't really equivalent, especially since double-clicking selects entire words and I'd for example like to be able to that, but still be able to close the window with Esc. 'd suggest changing the tab order of the peek window for the editor to follow the list. That way, when the peek window is opened you can select the appropriate file and Tab into it instead of Shift+Tabbing.
Any push on this? this is a must have. I seriously don't know how people have gone without this.
This is an open source project, this issue is marked as 'help wanted', so how about you?
I'll give it a try, looking for a way to automatically focus on peek window when there is only one entry in the list, according to suggestion. Do you guys think it's a good solution?
I'd say a command to move focus between them and then a setting to define is focused by default is the better solution. That makes the behaviour predictable, e.g I often press Enter when having just one reference I wouldn't want a new line then
fyi - this is the place (and sample) for adding commands that use the peek view widget:
Besides, we still need a setting to define which component will receive focus by default when Peek Window is shown.
Sorry. I'm so far away from having time to learn how to contribute. I'd like to, but I'm still in college working on several other things at the moment. Also, wouldn't even know where to start learning how to build vscode extensions and stuff.
Hi, I'm a heavy user of peek editor. But I accidentally minimize the peek editor window , which means when I click peek definition or declaration or references, there will be just file along with its path that include the definition will display in the first row , and the editor window (which should be the second row) will not. I have tried many ways to get it back to view, but nothing works. And I search all the settings related to peek, but none of them are about how adjust the size of peek editor. Have you ever encountered the same issue? Thanks for your time to view my question.
fyi - I have change the setting to:

import { KeybindingsRegistry, KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry'; import { KeyCode, KeyMod, KeyChord } from 'vs/base/common/keyCodes'; import { CommandsRegistry } from 'vs/platform/commands/common/commands'; <ins> import { EditorOption } from 'vs/editor/common/config/editorOptions'; </ins> export const ctxReferenceSearchVisible = new RawContextKey<boolean>('referenceSearchVisible', false);


Question:
I love the peek window. It's pretty much the best thing ever. I would love it ever so slightly more if VSCode would auto-focus it and insert the cursor where it belongs. e.g. if I clicked "peek definition", the cursor should be on the definition of what I peeked. This idea seems so obvious I can't believe it's not part of the default implementation, but I know you guys have your reasons for doing things. If there is such a reason, could this at least be made a setting? Thanks guys!
Fiar request. The reasoning for focusing the tree of the left that you might wanna quickly skim through all references/definitions/etc to get fast overview. That's also the reason for changing the peek editor when the focus changes in the list. We could add a command that allows to toggle between the selected reference/def and the peek view and then remember where you have been last
Ah, I understand. Speaking to my own use case, I use peek definition at least 98% of the time that I use the peek window, so at least 98% of the time there's only one file in the tree, and highlighting the tree doesn't make much sense. (I think it's a bit of a UX problem with the "peek all references" - it feels a little too much information in too constrained a space, so I normally do a global search instead - but that's an alternate request.) Your toggle command sounds great to me. I would also love if there was a keyboard shortcut to focus back on the original text document.
maybe the focus should be on the peek editor directly if there is only one entry in the list, that would be very helpful.
Is there any progress being made on this?
Not entirely sure whether it's appropriate to add this here, but I'd also suggest two other things for the peek window that're in the same vein: the "Keep peek editors open even when double clicking their content or when hitting escape" into two. The two aren't really equivalent, especially since double-clicking selects entire words and I'd for example like to be able to that, but still be able to close the window with Esc. 'd suggest changing the tab order of the peek window for the editor to follow the list. That way, when the peek window is opened you can select the appropriate file and Tab into it instead of Shift+Tabbing.
Any push on this? this is a must have. I seriously don't know how people have gone without this.
This is an open source project, this issue is marked as 'help wanted', so how about you?
I'll give it a try, looking for a way to automatically focus on peek window when there is only one entry in the list, according to suggestion. Do you guys think it's a good solution?
I'd say a command to move focus between them and then a setting to define is focused by default is the better solution. That makes the behaviour predictable, e.g I often press Enter when having just one reference I wouldn't want a new line then
fyi - this is the place (and sample) for adding commands that use the peek view widget:
Besides, we still need a setting to define which component will receive focus by default when Peek Window is shown.
Sorry. I'm so far away from having time to learn how to contribute. I'd like to, but I'm still in college working on several other things at the moment. Also, wouldn't even know where to start learning how to build vscode extensions and stuff.
Hi, I'm a heavy user of peek editor. But I accidentally minimize the peek editor window , which means when I click peek definition or declaration or references, there will be just file along with its path that include the definition will display in the first row , and the editor window (which should be the second row) will not. I have tried many ways to get it back to view, but nothing works. And I search all the settings related to peek, but none of them are about how adjust the size of peek editor. Have you ever encountered the same issue? Thanks for your time to view my question.
fyi - I have change the setting to:

let pos = new Position(range.startLineNumber, range.startColumn); let selection = this._model.nearestReference(uri, pos); if (selection) { <del> return this._widget.setSelection(selection); </del> <ins> return this._widget.setSelection(selection).then(() => { if (this._widget && this._editor.getOption(EditorOption.peekWidgetFocusInlineEditor)) { this._widget.focusOnPreviewEditor(); } }); </ins> } } return undefined;


Question:
I love the peek window. It's pretty much the best thing ever. I would love it ever so slightly more if VSCode would auto-focus it and insert the cursor where it belongs. e.g. if I clicked "peek definition", the cursor should be on the definition of what I peeked. This idea seems so obvious I can't believe it's not part of the default implementation, but I know you guys have your reasons for doing things. If there is such a reason, could this at least be made a setting? Thanks guys!
Fiar request. The reasoning for focusing the tree of the left that you might wanna quickly skim through all references/definitions/etc to get fast overview. That's also the reason for changing the peek editor when the focus changes in the list. We could add a command that allows to toggle between the selected reference/def and the peek view and then remember where you have been last
Ah, I understand. Speaking to my own use case, I use peek definition at least 98% of the time that I use the peek window, so at least 98% of the time there's only one file in the tree, and highlighting the tree doesn't make much sense. (I think it's a bit of a UX problem with the "peek all references" - it feels a little too much information in too constrained a space, so I normally do a global search instead - but that's an alternate request.) Your toggle command sounds great to me. I would also love if there was a keyboard shortcut to focus back on the original text document.
maybe the focus should be on the peek editor directly if there is only one entry in the list, that would be very helpful.
Is there any progress being made on this?
Not entirely sure whether it's appropriate to add this here, but I'd also suggest two other things for the peek window that're in the same vein: the "Keep peek editors open even when double clicking their content or when hitting escape" into two. The two aren't really equivalent, especially since double-clicking selects entire words and I'd for example like to be able to that, but still be able to close the window with Esc. 'd suggest changing the tab order of the peek window for the editor to follow the list. That way, when the peek window is opened you can select the appropriate file and Tab into it instead of Shift+Tabbing.
Any push on this? this is a must have. I seriously don't know how people have gone without this.
This is an open source project, this issue is marked as 'help wanted', so how about you?
I'll give it a try, looking for a way to automatically focus on peek window when there is only one entry in the list, according to suggestion. Do you guys think it's a good solution?
I'd say a command to move focus between them and then a setting to define is focused by default is the better solution. That makes the behaviour predictable, e.g I often press Enter when having just one reference I wouldn't want a new line then
fyi - this is the place (and sample) for adding commands that use the peek view widget:
Besides, we still need a setting to define which component will receive focus by default when Peek Window is shown.
Sorry. I'm so far away from having time to learn how to contribute. I'd like to, but I'm still in college working on several other things at the moment. Also, wouldn't even know where to start learning how to build vscode extensions and stuff.
Hi, I'm a heavy user of peek editor. But I accidentally minimize the peek editor window , which means when I click peek definition or declaration or references, there will be just file along with its path that include the definition will display in the first row , and the editor window (which should be the second row) will not. I have tried many ways to get it back to view, but nothing works. And I search all the settings related to peek, but none of them are about how adjust the size of peek editor. Have you ever encountered the same issue? Thanks for your time to view my question.
fyi - I have change the setting to:

} const target = this._model.nextOrPreviousReference(source, fwd); const editorFocus = this._editor.hasTextFocus(); <ins> const previewEditorFocus = this._widget.isPreviewEditorFocused(); </ins> await this._widget.setSelection(target); await this._gotoReference(target); if (editorFocus) { this._editor.focus(); <ins> } else if (this._widget && previewEditorFocus) { this._widget.focusOnPreviewEditor(); </ins> } }


Question:
I love the peek window. It's pretty much the best thing ever. I would love it ever so slightly more if VSCode would auto-focus it and insert the cursor where it belongs. e.g. if I clicked "peek definition", the cursor should be on the definition of what I peeked. This idea seems so obvious I can't believe it's not part of the default implementation, but I know you guys have your reasons for doing things. If there is such a reason, could this at least be made a setting? Thanks guys!
Fiar request. The reasoning for focusing the tree of the left that you might wanna quickly skim through all references/definitions/etc to get fast overview. That's also the reason for changing the peek editor when the focus changes in the list. We could add a command that allows to toggle between the selected reference/def and the peek view and then remember where you have been last
Ah, I understand. Speaking to my own use case, I use peek definition at least 98% of the time that I use the peek window, so at least 98% of the time there's only one file in the tree, and highlighting the tree doesn't make much sense. (I think it's a bit of a UX problem with the "peek all references" - it feels a little too much information in too constrained a space, so I normally do a global search instead - but that's an alternate request.) Your toggle command sounds great to me. I would also love if there was a keyboard shortcut to focus back on the original text document.
maybe the focus should be on the peek editor directly if there is only one entry in the list, that would be very helpful.
Is there any progress being made on this?
Not entirely sure whether it's appropriate to add this here, but I'd also suggest two other things for the peek window that're in the same vein: the "Keep peek editors open even when double clicking their content or when hitting escape" into two. The two aren't really equivalent, especially since double-clicking selects entire words and I'd for example like to be able to that, but still be able to close the window with Esc. 'd suggest changing the tab order of the peek window for the editor to follow the list. That way, when the peek window is opened you can select the appropriate file and Tab into it instead of Shift+Tabbing.
Any push on this? this is a must have. I seriously don't know how people have gone without this.
This is an open source project, this issue is marked as 'help wanted', so how about you?
I'll give it a try, looking for a way to automatically focus on peek window when there is only one entry in the list, according to suggestion. Do you guys think it's a good solution?
I'd say a command to move focus between them and then a setting to define is focused by default is the better solution. That makes the behaviour predictable, e.g I often press Enter when having just one reference I wouldn't want a new line then
fyi - this is the place (and sample) for adding commands that use the peek view widget:
Besides, we still need a setting to define which component will receive focus by default when Peek Window is shown.
Sorry. I'm so far away from having time to learn how to contribute. I'd like to, but I'm still in college working on several other things at the moment. Also, wouldn't even know where to start learning how to build vscode extensions and stuff.
Hi, I'm a heavy user of peek editor. But I accidentally minimize the peek editor window , which means when I click peek definition or declaration or references, there will be just file along with its path that include the definition will display in the first row , and the editor window (which should be the second row) will not. I have tried many ways to get it back to view, but nothing works. And I search all the settings related to peek, but none of them are about how adjust the size of peek editor. Have you ever encountered the same issue? Thanks for your time to view my question.
fyi - I have change the setting to:

* Controls fading out of unused variables. */ showUnused?: boolean; <ins> /** * Controls whether to focus the inline editor in the peek widget by default. * Defaults to false. */ peekWidgetFocusInlineEditor?: boolean; </ins> } export interface IEditorConstructionOptions extends IEditorOptions {


Question: Testing Insiders dated 28th March, 2017 Happens in linux and windows <img width="333" alt="screen shot 2017-03-28 at 11 42 13 am" src=""

background-color: transparent!important; color: #333; -webkit-user-select: initial; <del> overflow: hidden; /* prevents the terminal output being incorrectly placed over the title */ </del> position: relative; } .vs-dark .monaco-workbench .panel.integrated-terminal { color: #CCC; }


Question: Testing Insiders dated 28th March, 2017 Happens in linux and windows <img width="333" alt="screen shot 2017-03-28 at 11 42 13 am" src=""

}, 'terminal.integrated.enableBold': { 'type': 'boolean', <del> 'description': nls.localize('terminal.integrated.enableBold', "Whether to enable bold text within the terminal."), </del> <ins> 'description': nls.localize('terminal.integrated.enableBold', "Whether to enable bold text within the terminal, this requires support from the termianl shell."), </ins> 'default': true }, 'terminal.integrated.cursorBlinking': {


Question: Testing Insiders dated 28th March, 2017 Happens in linux and windows <img width="333" alt="screen shot 2017-03-28 at 11 42 13 am" src=""

}); } <del> public setWidgetManager(widgetManager: TerminalWidgetManager) { </del> <ins> public setWidgetManager(widgetManager: TerminalWidgetManager): void { </ins> this._widgetManager = widgetManager; }


Question: Testing Insiders dated 28th March, 2017 Happens in linux and windows <img width="333" alt="screen shot 2017-03-28 at 11 42 13 am" src=""

callback(true); } <del> private _addTooltipEventListeners(element: HTMLElement) { </del> <ins> private _addTooltipEventListeners(element: HTMLElement): void { </ins> let timeout = null; let isMessageShowing = false; this._tooltipDisposables.push(dom.addDisposableListener(element, dom.EventType.MOUSE_OVER, () => {


Question:
Testing in this setup Get this Code lense with '0 References' in ! Clicking the references link just shows an empty peek, it is not clear what is being search for. !
Now I understand what is going on: ! The reference in the template isn't found by the Angular Language Service extension.
Do you suggest we don't show the peek view from zero references code lens? Or should the peek view have more info on what would normally be displayed?
since the empty peek view is not helpful I would not show it and '0 References' should not be shown as a link on hover.

title: locations.length === 1 ? localize('oneImplementationLabel', '1 implementation') : localize('manyImplementationLabel', '{0} implementations', locations.length), <del> command: 'editor.action.showReferences', </del> <ins> command: locations.length ? 'editor.action.showReferences' : '', </ins> arguments: [codeLens.document, codeLens.range.start, locations] }; return codeLens;


Question:
Testing in this setup Get this Code lense with '0 References' in ! Clicking the references link just shows an empty peek, it is not clear what is being search for. !
Now I understand what is going on: ! The reference in the template isn't found by the Angular Language Service extension.
Do you suggest we don't show the peek view from zero references code lens? Or should the peek view have more info on what would normally be displayed?
since the empty peek view is not helpful I would not show it and '0 References' should not be shown as a link on hover.

title: locations.length === 1 ? localize('oneReferenceLabel', '1 reference') : localize('manyReferenceLabel', '{0} references', locations.length), <del> command: 'editor.action.showReferences', </del> <ins> command: locations.length ? 'editor.action.showReferences' : '', </ins> arguments: [codeLens.document, codeLens.range.start, locations] }; return codeLens;


Question:
Testing in this setup Get this Code lense with '0 References' in ! Clicking the references link just shows an empty peek, it is not clear what is being search for. !
Now I understand what is going on: ! The reference in the template isn't found by the Angular Language Service extension.
Do you suggest we don't show the peek view from zero references code lens? Or should the peek view have more info on what would normally be displayed?
since the empty peek view is not helpful I would not show it and '0 References' should not be shown as a link on hover.

title: command.title }; <del> if (!isFalsyOrEmpty(command.arguments)) { </del> <ins> if (command.command && !isFalsyOrEmpty(command.arguments)) { </ins> // we have a contributed command with arguments. that // means we don't want to send the arguments around


Question:
! Note the extra bar the right of the blue block quote bar
I hope my fix will work for you. :smile:

border-left: 3px solid rgba(0, 0, 0, 0.40); } <ins> .vscode-light.showEditorSelection .code-line .code-line:hover:before { border-left: none; } </ins> .vscode-dark.showEditorSelection .code-active-line:before { border-left: 3px solid rgba(255, 255, 255, 0.4); }


Question:
! Note the extra bar the right of the blue block quote bar
I hope my fix will work for you. :smile:

border-left: 3px solid rgba(255, 255, 255, 0.60); } <ins> .vscode-dark.showEditorSelection .code-line .code-line:hover:before { border-left: none; } </ins> .vscode-high-contrast.showEditorSelection .code-active-line:before { border-left: 3px solid rgba(255, 160, 0, 0.7); }


Question:
! Note the extra bar the right of the blue block quote bar
I hope my fix will work for you. :smile:

border-left: 3px solid rgba(255, 160, 0, 1); } <ins> .vscode-high-contrast.showEditorSelection .code-line .code-line:hover:before { border-left: none; } </ins> img { max-width: 100%; max-height: 100%;


Question:
VSCode Version: Code - Insiders 1.12.0-insider (, 2017-04-13T06:10:58.128Z) OS Version: Windows_NT ia32 6.1.7601 Extensions: the listing exceeds the lower minimum of browsers' URL characters limit Steps to Reproduce: any file and try to horizontal scroll either via mouse wheel or shift scroll.
Hello i'm still experiencing this issue , I've noticed a separate issue was closed for Ubuntu users, but still noticing this with Windows.
This seems to be fixed in the latest release.
correction, this issue still exists.
/cc I'm seeing this issue again as well, on my Ubuntu work machine and on Windows: VSCode Version: Code - Insiders 1.12.0-insider (, 2017-04-21T06:12:00.370Z) OS Version: Windows_NT ia32 10.0. Extensions: ;
Some more info: shift+mouse wheel does not work, however when I use the trackpad and two finger swipe horizontally it works fine. Unplugging and plugging in the mouse again didn't fix it.
Hmm the trackpad usually is for forward and back commands. I can confirm this is the same case for me. I'm wondering if electron has switched the forward and back commands for the horizontal scrolling. Because in my mouse settings if I set the horizontal scroll will to page forward and backward it works perfectly. But I shouldn't have to do that.
I tried to reproduce and failed with my setup (Windows 10 and Windows 7 on macOS running in Parallels). Here is what I try: shift-scrolling in the editor wheel-left/right in the editor ! Are you doing something different? Does it reproduce when you run with blank settings?
I tried to reload vscode insiders without any settings, and i'm still having the same experience.
One other note, I have mac os sierra at my home workstation and everything works perfectly there. It seems to be Windows specific. I'm running Windows 7
Here are errors and warnings upon restarting insiders without typing anything. I wonder if this has anything to do with it.
I assume those warnings would go away when you run code . I would not assume however that this would help you for this issue, but worth a try anyway.
I wonder if we could do a little experiment. Can you: download run it from the window that opens make it small enough that horizontal scrollbars appear see if you can scroll ! If so, this would point to a general problem with our UI framework (electron) and we should report it there.
seems to be this line that's throwing an error which may be causing the scroll to not work.
I would think that is unrelated, but please follow my steps to find out more.
I downloaded () on the Linux machine that I can reproduce it on and I can scroll just fine. ! Note that after this gif I updated to latest and it still doesn't work on:
Sorry I didn't see your message until just now. Yes it scrolls fine. On Mon, Apr 24, 2017, 10:31 AM Daniel Imms <:
need your help here for more debugging. First thing that comes to my mind is to add a breakpoint into  to see if this is even triggered when scrolling horizontally?
it's hit, but is set, not as I would expect. ! is set though: ! Are we meant to handle manually?
any chance you could debug stable to verify that e.deltaX is set? Is there any other property that has an increasing value? /cc if you have any clues on this Looking for chrome issues I stumbled upon:
Fixed via
Thank you guys, very much appreciated. Have realized over the last few days just how much I depend on horizontal scrolling.
As i'm not familiar with the insiders release pattern, any idea when we can expect this to come down the pipeline ?
should be in tomorrow's Insiders build
Thank you Daniel Imms <:

[deltaY, deltaX] = [deltaX, deltaY]; } <del> if (this._options.scrollYToX && !deltaX) { </del> <ins> // Convert vertical scrolling to horizontal if shift is held, this // is handled at a higher level on Mac const shiftConvert = !Platform.isMacintosh && e.browserEvent.shiftKey; if ((this._options.scrollYToX || shiftConvert) && !deltaX) { </ins> deltaX = deltaY; deltaY = 0; }


Question: VSCode Version: Code - Insiders 1.13.0-insider (, 2017-05-26T05:14:23.944Z) OS Version: Windows_NT ia32 10.0. Currently you can multi-select items in the Git files view and if you right-click, the & menu items will only open the file/change of the focused item, with the stage/unstage command work with the whole selection. It would be great to have these 2 command act upon the whole selection.

await this._openResource(resource); } <del> private async _openResource(resource: Resource): Promise<void> { </del> <ins> private async _openResource(resource: Resource, preview?: boolean): Promise<void> { </ins> const left = this.getLeftResource(resource); const right = this.getRightResource(resource); const title = this.getTitle(resource);


Question: VSCode Version: Code - Insiders 1.13.0-insider (, 2017-05-26T05:14:23.944Z) OS Version: Windows_NT ia32 10.0. Currently you can multi-select items in the Git files view and if you right-click, the & menu items will only open the file/change of the focused item, with the stage/unstage command work with the whole selection. It would be great to have these 2 command act upon the whole selection.

const viewColumn = window.activeTextEditor && window.activeTextEditor.viewColumn || ViewColumn.One; <del> if (!left) { return await commands.executeCommand<void>('vscode.open', right, viewColumn); } </del> const opts: TextDocumentShowOptions = { <ins> preserveFocus: true, preview: preview, </ins> viewColumn };


Question: VSCode Version: Code - Insiders 1.13.0-insider (, 2017-05-26T05:14:23.944Z) OS Version: Windows_NT ia32 10.0. Currently you can multi-select items in the Git files view and if you right-click, the & menu items will only open the file/change of the focused item, with the stage/unstage command work with the whole selection. It would be great to have these 2 command act upon the whole selection.

opts.selection = activeTextEditor.selection; } <ins> if (!left) { const document = await workspace.openTextDocument(right); await window.showTextDocument(document, opts); return; } </ins> return await commands.executeCommand<void>('vscode.diff', left, right, title, opts); }


Question: VSCode Version: Code - Insiders 1.13.0-insider (, 2017-05-26T05:14:23.944Z) OS Version: Windows_NT ia32 10.0. Currently you can multi-select items in the Git files view and if you right-click, the & menu items will only open the file/change of the focused item, with the stage/unstage command work with the whole selection. It would be great to have these 2 command act upon the whole selection.

} @command('git.openFile') <del> async openFile(arg?: Resource | Uri): Promise<void> { let uri: Uri | undefined; </del> <ins> async openFile(arg?: Resource | Uri, ...resourceStates: SourceControlResourceState[]): Promise<void> { let uris: Uri[] | undefined; </ins> if (arg instanceof Uri) { if (arg.scheme === 'git') { <del> uri = Uri.file(fromGitUri(arg).path); </del> <ins> uris = [Uri.file(fromGitUri(arg).path)]; </ins> } else if (arg.scheme === 'file') { <del> uri = arg; </del> <ins> uris = [arg]; </ins> } } else { let resource = arg;


Question: VSCode Version: Code - Insiders 1.13.0-insider (, 2017-05-26T05:14:23.944Z) OS Version: Windows_NT ia32 10.0. Currently you can multi-select items in the Git files view and if you right-click, the & menu items will only open the file/change of the focused item, with the stage/unstage command work with the whole selection. It would be great to have these 2 command act upon the whole selection.

} if (resource) { <del> uri = resource.resourceUri; </del> <ins> uris = [...resourceStates.map(r => r.resourceUri), resource.resourceUri]; </ins> } } <del> if (!uri) { </del> <ins> if (!uris) { </ins> return; } <del> const activeTextEditor = window.activeTextEditor && window.activeTextEditor; const isSameUri = activeTextEditor && activeTextEditor.document.uri.toString() === uri.toString(); const selections = activeTextEditor && activeTextEditor.selections; const viewColumn = activeTextEditor && activeTextEditor.viewColumn || ViewColumn.One; await commands.executeCommand<void>('vscode.open', uri, viewColumn); if (isSameUri && selections && window.activeTextEditor) { window.activeTextEditor.selections = selections; </del> <ins> const preview = uris.length === 1 ? true : false; const activeTextEditor = window.activeTextEditor; for (const uri of uris) { // If the active editor matches the current uri, get its selection const selections = activeTextEditor && activeTextEditor.document.uri.toString() === uri.toString() ? activeTextEditor.selections : undefined; const opts: TextDocumentShowOptions = { preserveFocus: true, preview: preview, viewColumn: activeTextEditor && activeTextEditor.viewColumn || ViewColumn.One }; const document = await workspace.openTextDocument(uri); await window.showTextDocument(document, opts); if (selections && window.activeTextEditor) { window.activeTextEditor.selections = selections; } </ins> } }


Question: VSCode Version: Code - Insiders 1.13.0-insider (, 2017-05-26T05:14:23.944Z) OS Version: Windows_NT ia32 10.0. Currently you can multi-select items in the Git files view and if you right-click, the & menu items will only open the file/change of the focused item, with the stage/unstage command work with the whole selection. It would be great to have these 2 command act upon the whole selection.

} @command('git.openChange') <del> async openChange(arg?: Resource | Uri): Promise<void> { let resource: Resource | undefined = undefined; </del> <ins> async openChange(arg?: Resource | Uri, ...resourceStates: SourceControlResourceState[]): Promise<void> { let resources: Resource[] | undefined = undefined; </ins> <del> if (arg instanceof Resource) { resource = arg; } else if (arg instanceof Uri) { resource = this.getSCMResource(arg); } else { resource = this.getSCMResource(); </del> <ins> if (arg instanceof Uri) { const resource = this.getSCMResource(arg); if (resource !== undefined) { resources = [resource]; } </ins> } <ins> else { let resource: Resource | undefined = undefined; if (arg instanceof Resource) { resource = arg; } else { resource = this.getSCMResource(); } </ins> <del> if (!resource) { </del> <ins> if (resource) { resources = [...resourceStates as Resource[], resource]; } } if (!resources) { </ins> return; } <del> return await this._openResource(resource); </del> <ins> const preview = resources.length === 1 ? undefined : false; for (const resource of resources) { await this._openResource(resource, preview); } </ins> } @command('git.stage')


Question: <!-- Do you have a question? Please ask it on --- VSCode Version: Version 1.12.1 (1.12.1) OS Version: Windows 64 bits This issue is not a bug but just a suggestion/idea to improve CodeLens performance for TypeScript when and are activated. In this case tsserver command which can take times and response can be big is called twice: one call of navtree for providing references CodeLens. one call of navtree for providing implementation CodeLens. I tell me if CodeLens provider could manage a shared context to store some data that other code lens provider could use it. For instance in this case, we could have just one call of navtree: one call of navtree for providing references CodeLens and store the result in a shared context. the implementation CodeLens provider search navtree from the shared context.

} } <ins> export class CachedNavTreeResponse { response?: Promise<Proto.NavTreeResponse>; version: number = -1; document: string = ''; matches(document: TextDocument): boolean { return this.version === document.version && this.document === document.uri.toString(); } update(document: TextDocument, response: Promise<Proto.NavTreeResponse>) { this.response = response; this.version = document.version; this.document = document.uri.toString(); } } </ins> export abstract class TypeScriptBaseCodeLensProvider implements CodeLensProvider { private enabled: boolean = true; private onDidChangeCodeLensesEmitter = new EventEmitter<void>(); public constructor( <del> protected client: ITypeScriptServiceClient </del> <ins> protected client: ITypeScriptServiceClient, private cachedResponse: CachedNavTreeResponse </ins> ) { } public get onDidChangeCodeLenses(): Event<void> {


Question: <!-- Do you have a question? Please ask it on --- VSCode Version: Version 1.12.1 (1.12.1) OS Version: Windows 64 bits This issue is not a bug but just a suggestion/idea to improve CodeLens performance for TypeScript when and are activated. In this case tsserver command which can take times and response can be big is called twice: one call of navtree for providing references CodeLens. one call of navtree for providing implementation CodeLens. I tell me if CodeLens provider could manage a shared context to store some data that other code lens provider could use it. For instance in this case, we could have just one call of navtree: one call of navtree for providing references CodeLens and store the result in a shared context. the implementation CodeLens provider search navtree from the shared context.

return []; } try { <del> const response = await this.client.execute('navtree', { file: filepath }, token); </del> <ins> if (!this.cachedResponse.matches(document)) { this.cachedResponse.update(document, this.client.execute('navtree', { file: filepath }, token)); } const response = await this.cachedResponse.response; </ins> if (!response) { return []; } const tree = response.body; const referenceableSpans: Range[] = []; if (tree && tree.childItems) {