VS Code 1.79 has been released , some key highlights of this release include:
In some development scenarios, it can be helpful to explicitly mark certain folders or files of the workspace as read-only. For example, if folder or file contents are managed by a different process (such as node_modules
a folder managed by the Node.js package manager), marking them read-only can prevent accidental changes.
According to the set rules, if a path is considered read-only, you cannot modify it from explorer (for example, delete it) and text or notebook editors are read-only.
- "Paste as" option - Choose how you want the item link to be pasted into the editor.
VS Code's new "paste as" feature gives you control over how pasted content is inserted. After pasting, VS Code now displays a small "paste as" control if there is another way to insert the pasted content:
- Automatic copying of external files - drag or paste into Markdown to add new files to your workspace.
Want to add images or videos to your Markdown documents? Instead of wasting time manually copying a file to your workspace and then adding a link to it, you can now just drag and drop or paste the file into your Markdown. If the file is not currently part of the workspace, VS Code will automatically copy the file to your workspace and insert a link to it:
This also applies to image data in the clipboard. For example, if you're using the Snipping Tool on Windows to take a screenshot, you can press Paste in a Markdown file , and VS Code will create a new image file from the clipboard data and insert a Markdown image link to the new file. This also works on macOS if you hold down the Ctrl key while taking a screenshot to copy it to the clipboard.
- Default Git repo branch name - use "main" as default or override via user settings.
Starting from this milestone, all new Git repositories created with VS Code are set main
to their default branch. If you prefer a different name for the default branch, you can git.defaultBranchName
change it using the settings. When this setting is set to empty, VS Code obeys the default branch names configured in Git. Publishing a folder to GitHub also follows the default branch name configured on GitHub.
- Notebooks Rich Content Search - Search based on Notebook output or cell type filtering.
Rich content in open notebooks can now be searched from the search control. If your notebook is open, the search control displays results according to how it appears in the notebook editor (instead of searching the contents of the original source file). This also allows replacing text in notebook inputs.
With the new notebook search switch, you can also filter the type of cell content to search.
- Link Editing for JSX tags - Change both on and off JSX tags .
With link editing, when you change an opening JSX tag, VS Code will automatically update the corresponding closing tag. This saves a lot of time. This feature is off by default, but can be enabled through the settings:
"editor.linkedEditing": true
- Preview: GitHub Copilot Chat Improvements - Easily manage your chat session history. Live chat "live preview".
Previously had to use VS Code Insiders to use Copilot Chat, starting with VS Code 1.79 it is also possible to use Copilot Chat in stable VS Code. You still need to install the GitHub Copilot Nightly extension though.
Improved editor chat, most notably changing its default mode to "livePreview". In this mode, changes are applied directly to the document and displayed as an embedded diff view. Example:
- A new property is added to
IUserFriendlyStatusItemEntry
the type - Copilot updates the check accordingly
isUserFriendlyStatusItemEntry
. - Reply is displayed in the editor using an embedded diff view. Its right side can be edited and inspected by VS Code's language extensions.
- allows you to spot bugs in the reply (
isMarkdownString
the function below doesn't exist), and you can fix it before accepting the suggestion.
Improved the chat experience in the notebook editor. When using Copilot within a notebook document, Copilot can use the notebook context to provide more relevant suggestions. For example, the code suggests using variables or modules defined in previous cells without recreating or reimporting them.
If you didn't have a chance to watch Microsoft Build 2023 live , you can watch the keynote and sessions on the Microsoft Developer YouTube channel.
More details can be found in the release announcement .