Visual Studio Code(以下简称VSC)是一款由微软发布的免费、开源的现代化轻量级集成开发环境(IDE),支持多种编程语言和开发平台,如 C++, C#, Java, JavaScript, TypeScript, Ruby, HTML, CSS, Sass, LESS, Docker, PHP, Python,等等。由于良好的集成度、扩展性、主题和丰富的功能插件支持,VSC逐渐成为最受欢迎的开发之一。
而在移动开发中,VSC也有很好的应用。下面我们将会详细介绍如何在VSC中进行安卓开发。
首先,由于 Android Studio 是官方开发工具,所以我们需要使用它来生成我们的项目框架。我们可以直接使用它的命令行工具,并使用 VSC 编辑我们的代码文件。
步骤:
1.在 Android Studio 中创建一个新的项目。
2.在 Terminal(终端)中进入你的项目目录,并使用以下命令:
```
//如果您的环境变量中 path 设置有 Android Studio 的路径,则可以直接使用下面的命令,否则需要使用全路径。./gradlew 需要先配置环境变量
$ gradlew tasks
```
3.使用以下命令打开 VSC:
```
$ code .
```
4.在 VSC 中,按下`Ctrl+Shift+X`键,然后安装下面的插件:
- Java Extension Pack。
- Debugger for Java。
- Android for VS Code(官方插件)。
5.安装完成之后,可以单击调试面板的“添加配置按钮”,选择“Java”的环境。
6.打开“settings.json”文件,找到并修改以下行:
```
// 在 Windows/Linux 中配置
"java.home": "C:\\Program Files\\Java\\jdk1.x.y_xxx",
// 在 macOS 中配置
"java.home": "/Library/Java/JavaVirtualMachines/
```
7.接下来,对于 Android 应用程序的构建、运行和调试,我们有两种可选方案 - 使用`Gradle`插件和使用工具链(`cmake`、`ndk`)。
7.1 使用 Gradle 插件方案:
- 点击 vscode 编辑器左边的 debug 窗口(类似调试窗口),按照如下图的配置运行你的安卓项目。

- 选择调试/启动:VS Code 将附加到远程应用程序并启动为调试模式。这个模式允许您在开发人员工具中查看 stack trace、添加断点、查看变量,以及其他等等的操作。
- 调试/步进:点击此按钮,vsc 会保持你的应用程序暂停,直到您开始单步执行代码的下一个步骤。
- 调试/继续:继续您的应用程序执行,直到您到达下一个断点或应用程序终止。
- 调试/断点/启用:您可以在此处设置制定的断点,使您在应用程序启动时暂停(可以根据自己需求来设置断点)
7.2 使用cmake和ndk构建的方案:
这种方案更适合需要定制化构建脚本的工程使用。
- 在 Android 工程目录下,创建一个 `CMakeLists.txt` 文件,为您的代码添加构建配置。
- 在 VSC 设置中的文件->首选项->设置,按照下面的方式修改以下行。
```
// Android SDK 路径
"android.sdkPath": "
// GNU C++编译器路径 如果没有安装gnu的编译器则需要安装cmake
"C_Cpp.default.compilerPath": "
// Gradle脚本路径
"android.gradlePath": "
// 全局Gradle属性文件
"android.globalGradleProperties": "
// 平台工具包路径
"android.platformToolsPath": "
```
- 按照下面的方式,根据需要使用 ndk-build 和 cmake 执行您的构建和编码。
```
"tasks": [
{
"type": "shell",
"label": "ndk-build all",
"command": "ndk-build",
"args": [
"all"
]
},
{
"type": "shell",
"label": "cmake build",
"command": "cmake",
"args": [
"--build", "${workspaceFolder}/build"
],
"options": {
"cwd": "${workspaceFolder}/build"
}
}
],
```
通过以上步骤,我们可以很容易的将 VSC 升级为方便我们开发安卓应用的开发环境,方便我们在代码编辑、构建、运行和测试之间进行快速切换,从而极大的提升我们的开发效率。