[Holo_wo]-vscode常用配置项说明

本文详细介绍VSCode中的settings.json配置全局设置,c_cpp_properties.json项目特定配置,以及task.json编译任务和launch.json调试配置。涵盖了语言标准、路径设置、编译工具及调试流程等关键内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vscode

配置文件核心

  • settings.json:整个vscode的配置,是本地vscode的配置,如果有ssh远程,那么会在远程主机的.vscode-server目录下有settings.json文件,记录给远程主机的独特配置。

    • C_Cpp.intelliSenseEngine如果关闭了就无法正常跳转…,而且这个功能和clangd会存在冲突.

    • {
          "workbench.editorAssociations": {
              "*.vsix": "default",
              "*.md": "vscode.markdown.preview.editor"
          },
          "files.associations": {
              "*.h": "c"
          },
          "editor.renderControlCharacters": true,
          "files.autoGuessEncoding": true,
          "editor.minimap.enabled": false,
          "editor.suggestSelection": "first",
          "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
          "git.autofetch": true,
          "vsicons.dontShowNewVersionMessage": true,
          "terminal.integrated.defaultProfile.windows": "git-bash",
          "terminal.integrated.profiles.windows": {
              "git-bash": {
                  "path": "E:\\Git\\bin\\bash.exe",
                  "args": []
              }
          },
          "C_Cpp.errorSquiggles": "Enabled",
          "workbench.iconTheme": "vscode-icons",
          "workbench.startupEditor": "none",
          "remote.SSH.remotePlatform": {
              "ArchLinux": "linux",
              "Ubuntu-Tencent": "linux",
              "Ubuntu-hl-physical": "linux"
          },
          "workbench.colorTheme": "Visual Studio Dark - C++",
          "editor.formatOnSave": true,
          "git.confirmSync": false,
          "C_Cpp.intelliSenseEngine": "Default",
          "files.autoSave": "onWindowChange",
          "editor.formatOnPaste": true,
          //指定格式化工具,默认设置成vscode的,可以使用.clang-format
          "editor.defaultFormatter": "ms-vscode.cpptools",
      }
      
  • c_cpp_properties.json:是每一个项目单独的配置,用于配置c/c++的语言标准,linux上面头文件路径,编译器路径等等。

    • 执行echo 'main(){}'|gcc -E -v -查看当前一些标准库头文件在哪儿,然后填入"includePath"

    • ubuntu下使用whereis g++就可以找到g++安装的位置了

    • {
          "configurations": [
              {
                  "name": "Linux",
                  "includePath": [
                      "${workspaceFolder}/**",
                      "/usr/lib/gcc/x86_64-linux-gnu/9/include",
                      "/usr/local/include",
                      "/usr/include/x86_64-linux-gnu",
                      "/usr/include"
                  ],
                  "defines": [],
                  "compilerPath": "/usr/bin/g++",
                  "cStandard": "c11",
                  "cppStandard": "c++11",
                  "intelliSenseMode": "linux-gcc-x64",
                  "configurationProvider": "ms-vscode.makefile-tools",
                  "mergeConfigurations": true
              }
          ],
          "version": 4
      }
      
  • task.json编译任务,每一项目单独配置

    • 编写makefile时需要注意使用绝对地址,使用相对地址会出问题

    • {
          "tasks": [
              {
                  "label": "compile_libet.so",
                  "type": "shell",
                  "command": "${workspaceFolder}/compile_env/linux/build.sh debug x64",
                  "group": {
                      "kind": "build",
                      "isDefault": true
                  },
              },
              {
                  "label": "compile_testdemo",
                  "type": "shell",
                  "command": "make -f ${workspaceFolder}/test/makefile build",
                  "group": "test"
              }
          ],
          "version": "2.0.0"
      }
      
  • lanuch.json:调试文件,每一个项目单独配置

    • program,这个路径是编译出来测试程序的路径

    • EasyTools编译出来的库是libet.so,目标vscode的preLaunchTask功能并不支持执行多个任务,所以在使用vscode调试前,请前手动编译出libet.so。需要注意一点,测试程序默认是编译成64位的,所以libet.so也需要编译成64位。

    • {
          "version": "0.2.0",
          "configurations": [
              {
                  "name": "gdb",
                  "type": "cppdbg",
                  "request": "launch",
                  "program": "${workspaceFolder}/test/main",
                  "args": [],
                  "stopAtEntry": false,
                  "cwd": "${fileDirname}",
                  "environment": [],
                  "externalConsole": false,
                  "MIMode": "gdb",
                  "setupCommands": [
                      {
                          "description": "为 gdb 启用整齐打印",
                          "text": "-enable-pretty-printing",
                          "ignoreFailures": true
                      },
                      {
                          "description": "将反汇编风格设置为 Intel",
                          "text": "-gdb-set disassembly-flavor intel",
                          "ignoreFailures": true
                      }
                  ],
                  "preLaunchTask": "compile_testdemo"
              }
          ]
      }
      
在Android开发中,`DatePickerDialog.THEME_HOLO_DARK`用于设置日期选择器对话框的主题,使其具有深色主题的外观。要在代码中应用这个主题,可以在创建`DatePickerDialog`实例时传入这个主题常量。 以下是一个示例代码,展示如何在代码中应用`DatePickerDialog.THEME_HOLO_DARK`: ```java import android.app.DatePickerDialog; import android.content.Context; import android.widget.DatePicker; import android.widget.Toast; import java.util.Calendar; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button showDatePickerButton = findViewById(R.id.showDatePickerButton); showDatePickerButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showDatePickerDialog(); } }); } private void showDatePickerDialog() { Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DAY_OF_MONTH); DatePickerDialog datePickerDialog = new DatePickerDialog( this, R.style.DatePickerDialogTheme, // 自定义样式(可选) new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) { // 处理选中的日期 String date = selectedYear + "-" + (selectedMonth + 1) + "-" + selectedDay; Toast.makeText(MainActivity.this, "Selected date: " + date, Toast.LENGTH_SHORT).show(); } }, year, month, day ); datePickerDialog.show(); } } ``` 在上述代码中,`DatePickerDialog`实例是通过传入`this`(上下文)、`R.style.DatePickerDialogTheme`(自定义样式,可选)、`OnDateSetListener`(日期选择监听器)以及初始的年、月、日来创建的。如果你希望使用`THEME_HOLO_DARK`主题,可以将`R.style.DatePickerDialogTheme`替换为`DatePickerDialog.THEME_HOLO_DARK`: ```java DatePickerDialog datePickerDialog = new DatePickerDialog( this, DatePickerDialog.THEME_HOLO_DARK, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) { // 处理选中的日期 String date = selectedYear + "-" + (selectedMonth + 1) + "-" + selectedDay; Toast.makeText(MainActivity.this, "Selected date: " + date, Toast.LENGTH_SHORT).show(); } }, year, month, day ); ``` 这样,`DatePickerDialog`将使用深色主题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值