Deepin Linux的IDE配置记录(VSCode)
2020-02-07

话说,我们安装完美观的Deepin Linux之后,首先应该做什么呢?打开应用商店 安装完这样一款Linux之后,当然是要写代码啦~ 但是,Deepin下并没有Dev-C++,(wine,crossover安装的会编译出一个exe,用不了),所以就只能看看有没有别的办法来配置一个IDE环境了:

  1. 运行更新命令

    sudo apt update
    sudo apt upgrade
    
  2. 安装必要软件

    sudo apt-get install build-essential
    
  3. 在应用商店安装VSCode

    深度截图_20200207145948.png
  4. 下载插件/中文包

    • Bracket Pair Colorizer
    • C/C++
    • C/C++ Clang Command Adapter
    • C/C++ Snippets
    • Code Runner
    • One Dark Pro
    • GBKtoUTF8
    • Include Autocomplete
    • 搜索Chinese
  5. 配置IDE环境

    1. 先创建一个文件随便写点东西(hello world

    2. 按快捷键ctrl + shift + D,点击设置图标,弹出的选择中选C++(GDB/LLDB)

    3. 在生成的launch.json文件中,把里面的内容删了,再把下面的代码复制进去

      {
          // 使用 IntelliSense 了解相关属性。 
          // 悬停以查看现有属性的描述。
          // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
          "version": "0.2.0",
          "configurations": [
      
              {
                  "name": "(gdb) Launch",                                 //配置名称,会在启动配置的下拉菜单中显示
                  "type": "cppdbg",                                       //配置类型,只能为cppdbg
                  "request": "launch",                                    //请求类型,可以为launch或attach
                  "program": " ${workspaceFolder}/a.out",             //将要调试的程序的路径
                  "args": [],                                             //调试时传递给程序的命令行参数
                  "stopAtEntry": false,                                   //设为true程序会暂停在入口处
                  "cwd": "$ {workspaceFolder}",                            //调试程序时的工作目录
                  "environment": [],                                      //环境变量
                  "externalConsole": false,                               
                  "MIMode": "gdb",                                        
                  "miDebuggerPath": "/usr/bin/gdb",                       
                  "setupCommands": [
                      {
                          "description": "Enable pretty-printing for gdb",
                          "text": "-enable-pretty-printing",
                          "ignoreFailures": true
                      }
                  ],
                  "preLaunchTask": "build"                               
              }
          ]
      }
      
    4. 按F5调试,此时弹出一个信息框,选配置任务,选择后点击Others,跳出tasks.json。

      同理,将里面的内容删除,再复制进下面的代码:

      {
          // See https://go.microsoft.com/fwlink/?LinkId=733558
       // for the documentation about the tasks.json format
          "version": "2.0.0",
       "tasks": [
              {
               "label": "build",
                  "type": "shell",
                  "command": "g++",
                  "args": [
                      " ${file}",
                      "-o",
                      "$ {workspaceRoot}/a.out"
                  ],
                  "group": {
                      "kind": "build",
                      "isDefault": true
                  }
              }
          ]
      }
      
    5. 打开终端,运行一下命令:

      sudo apt-get install clang
      
    6. 打开文件-首选项-设置,点开右上角的代码按钮,打开settings.json,删除原内容,再复制进以下代码:

      {
          "files.associations": {
              "iostream": "cpp",
              "ostream": "cpp"
          },
          //"files.defaultLanguage": "cpp", // ctrl+N新建文件后默认的语言
      
          "code-runner.runInTerminal": true, // 设置成false会在“输出”中输出,无法交互
          "code-runner.executorMap": {
              //"c": "cd  $dir && clang $ fileName -o  $fileNameWithoutExt.out -g -Wall -static-libgcc -fcolor-diagnostics -std=c11 && $ dir $fileNameWithoutExt",
              //"cpp": "cd $ dir && clang++  $fileName -o $ fileNameWithoutExt.out -g -Wall -static-libgcc -fcolor-diagnostics -std=c++14 &&  $dir$ fileNameWithoutExt"
              }, // 设置code runner的命令行
          "code-runner.saveFileBeforeRun": true, // run code前保存
          "code-runner.preserveFocus": true, // 若为false,run code后光标会聚焦到终端上。如果需要频繁输入数据可设为false
          "code-runner.clearPreviousOutput": false, // 每次run code前清空属于code runner的终端消息
      
          "C_Cpp.clang_format_sortIncludes": true, // 格式化时调整include的顺序(按字母排序)
          "C_Cpp.intelliSenseEngine": "Default", // 可以为Default或Tag Parser,后者较老,功能较简单。具体差别参考cpptools插件文档
          "C_Cpp.errorSquiggles": "Disabled", // 因为有clang的lint,所以关掉
          "editor.formatOnType": false, // 输入时就进行格式化,默认触发字符较少,分号可以触发
          "editor.snippetSuggestions": "top", // snippets代码优先显示补全
      
          "clang.cflags": [ // 控制c语言静态检测的参数
              //"--target=x86_64-w64-mingw",
              "-std=c11",
              "-Wall"
          ],
          "clang.cxxflags": [ // 控制c++静态检测时的参数
              //"--target=x86_64-w64-mingw",
              "-std=c++14",
              "-Wall"
          ],
          "editor.fontSize": 20,
          //"clang.completion.enable":false // 效果稍好,但太卡,故关掉
      }
      
    7. 记得保存所有的json文件(Ctrl+S),回到原来的程序点击右上角的深度截图_选择区域_20200207151005.png或者按Ctrl+Alt+N,下方的控制台就输出Hello World了。