vscode官方Blog 07月16日 16:20
Enhance productivity with AI + Remote Dev
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文探讨了如何在VS Code的远程开发环境中利用AI提升效率。通过结合远程开发的功能与VS Code的AI能力,开发者可以在任何地方、任何设备上获得更强大的开发体验。文章重点介绍了如何使用自定义指令、聊天助手和工具审批等功能,使AI更好地理解代码和开发环境,从而简化远程设置、调试连接,并安全地运行自主编码会话。文章也提及了Dev Containers和GitHub Copilot在远程开发中的应用,以及未来在VS Code Web端支持Copilot Chat的计划。

🚀 VS Code的远程开发功能,包括Remote - SSH、Dev Containers、WSL、Remote - Tunnels和GitHub Codespaces,允许开发者在任何地方进行编码。

💡 通过自定义指令,AI可以更好地理解开发者的代码和编码习惯,例如,在Dev Container中,可以告知AI关于安装的工具和编码规范。

💬 聊天助手功能,如Remote - SSH扩展中的Copilot聊天助手,可以帮助配置和排除远程环境中的问题,提供特定领域的专业知识。

✅ 在远程环境中安全运行自主编码会话,通过设置工具审批,可以控制AI在agent模式下运行工具和终端命令,避免潜在的破坏性操作。

Enhance productivity with AI + Remote Dev

May 27th, 2025 by Brigit Murtaugh, Christof Marti, Josh Spicer, Olivia Guzzardo McVicker

One of the features that makes VS Code so flexible and powerful is Remote Development. Whether you're connecting to a secure VM from your local desktop, a hugely powerful computer from your tablet, or a containerized environment with all the dependencies your project needs – VS Code's ability to develop anything from anywhere can help in just about any setup.

Now combine those capabilities with the flexibility and power of AI in VS Code, and you have an incredibly versatile dev environment. You can ensure chat conversations have context about your remote workspace, get AI help in setting up and debugging remote connections, and provide a more isolated space for agent mode to work autonomously.

In this blog, we'll explore how your existing remote setups can be enhanced to "just work" with AI, along with some more customized AI + remote workflows that include custom instructions, chat participants, and agent auto-approvals.

What is Remote Development?

When we describe VS Code Remote Development, we refer to five main experiences:

    Remote - SSH - Connect to any location by opening folders on a remote machine/VM using SSH.Dev Containers - Work with a separate toolchain or container-based application inside (or mounted into) a container.WSL - Get a Linux-powered development experience in the Windows Subsystem for Linux.Remote - Tunnels - Connect to a remote machine via a secure tunnel, without configuring SSH.GitHub Codespaces - Remote environments that are managed for you.

How can you use AI in a remote environment?

We want to make the AI coding experience in VS Code as seamless as possible, whether you're working on your local machine or connected to a remote environment. If you're already using GitHub Copilot locally, we'll automatically install it remotely. And GitHub Codespaces has it configured too!

While using AI in a remote environment will just work, there are additional AI features that can make your remote workflow even more powerful:

    Custom instructions - Tailor your AI experience for your remote environmentChat participants - Use chat to set up and troubleshoot your remote environmentTool approvals - Run autonomous coding sessions safely in remote environments

Tailor your AI experience for your remote environment

One of the top requests we hear from users when working with an LLM is: How can I help the LLM better understand my code and coding practices? You can achieve this via custom instructions, which describe common guidelines or rules to get responses that match your specific coding practices and tech stack. Instead of manually including this context in every AI chat query, custom instructions automatically incorporate this information with every chat request (learn more in our recent blog post).

In our team's recent self-hosting, we found it helpful to use custom instructions to not only tell Copilot about our code and coding practices, but to also provide more information about the type of remote environment we're connected to, such as:

    What kind of remote environment is this (i.e. a dev container vs a VM)?What languages or toolchains are installed? What's their purpose?Where are toolchains installed (i.e. are they available on the PATH)?

Here's an example instruction our team found helpful:

This is a dev container that includes `python3` and `pip3` pre-installed and available on the `PATH`, along with the Python language extensions for Python development.

To get started with custom instructions in a remote environment, you can use the same instruction files remotely that you were already using locally.

Configure AI for your dev container

Dev containers make it easier to get started with a project by having all tools and dependencies preconfigured. By adding custom instructions, you can make sure that the LLM is tailored to that environment instead of providing generic answers. For example, a dev container for Python coding might have custom instructions about which tools are installed, or which coding guidelines to follow (as shared in the example above).

Our team has taken steps to preconfigure custom instructions to make your life even easier when using dev containers. We publish dev container resources (like images and Features) to ease the process of creating and connecting to dev containers, and we now include custom instructions in these files. Here’s an example of how you can use the custom dev container instructions our team added:

In addition to using the custom instructions we've added to images and Features, you can add additional custom instructions to the devcontainer.json in your projects - we've made it so that custom instructions can merge successfully across images and Templates. You can use the "github.copilot.chat.codeGeneration.instructions" setting, just like what we did in the Python dev container config described above.

If you publish any dev container configurations for others to use, we recommend exploring how you might add custom instructions to them! Here is an example of using custom instructions in a Python dev container Feature:

"github.copilot.chat.codeGeneration.instructions": [    {        "text": "This dev container includes `python3` and `pip3` pre-installed and available on the `PATH`, along with the Python language extensions for Python development."    }],

Use chat to set up and troubleshoot your remote environment

Chat participants enhance your chat experience by providing domain-specific knowledge, such as how to interact with a database or a specific API. Type @ in the chat input field to view and select from the list of available participants - they'll be available in Ask mode. There are several built-in chat participants like @workspace, @vscode, and @terminal. Extensions can also contribute chat participants.

The Remote - SSH extension includes a Copihttps://code.visualstudio.comhttps://code.visualstudio.com/assets/blogs/2025/05/27/remote-ssh-intro.pngcode> for help configuring or troubleshooting elements of your remote environment:

The participant is also knowledgeable about general SSH and remote development topics:

If a connection failure occurs, the Diagnose with Copilot feature provides a quick way to understand the problem:

Copilot will investigate the issue and provide actionable insights:

Run autonomous coding sessions safely in remote environments

As part of completing the tasks for a user prompt, agent mode can run tools and terminal commands. Agent mode is powerful because it not only proposes code changes but can also run terminal commands and tools. For example, it can install project dependencies orhttps://code.visualstudio.comhttps://code.visualstudio.com/assets/blogs/2025/05/27/chat-tool-approval.pngt be destructive, such as deleting files, modifying local configuration, and more. Therefore, you need to approve the use of tools and terminal commands in agent mode.

In case you want to auto-approve all tools, you can now use the experimental chat.tools.https://code.visualstudio.comhttps://code.visualstudio.com/assets/blogs/2025/05/27/auto-approval.pngme level of protection against inadvertent terminal commands or tool calls, you can choose to only set this in a dev container or remote machine to prevent your local dev machine from getting affected:

This will auto-approve all tools, and VS Code will not ask for confirmation when a language model wishes to run tools. This can help save time by giving more autonomy to agent mode, but bear in mind that with this setting enabled, you will not have the opportunity to cancel potentially destructive actions a model wants to take.

Note that remote environments that are part of your local machine (like dev containers) or that have access to your credentials will pose different levels of risk.

What's Next

We're excited about the future of Remote Development and AI in VS Code. Our monthly releases are packed with exciting new features, and we're constantly looking ahead to what's next, like supporting Copilot Chat in the web (vscode.dev, github.dev).

Happy (smart and remote) coding!Brigit, Christof, Josh, and Olivia

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

VS Code 远程开发 AI
相关文章