你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】基于STM32的VSCode入门级教程前言

[复制链接]
STMCU小助手 发布时间:2022-4-24 21:35
4 环境搭建9 I* }) J0 B6 ^
4.1 安装VSCode
2 l) g0 \3 D: G" c* \4.1.1 VSCode介绍

$ {) P# u, x: E! i5 y& TVisual Studio Code (简称 VSCode / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、Git 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。因此推荐使用VSCode为文本编辑器来代替STM32CubeIDE。+ P7 [. @0 X0 |9 \) Y1 v+ ~0 l
VSCode是目前最流行的代码编辑器IDE,其体积小,启动速度快,效率高,使得全世界的程序员都喜欢使用它。而目前微软也收购了Git等多方代码管理以及加密平台,支持版本管理,方便储存备份程序,提高代码工作效率。
5 z/ w, P2 _: m1 P# e1 ?$ d+ p, Y* u: f$ v
a19f84e8d80042d5a1a14e0bb5e3093f.png
" C9 @( f% H. M0 ]/ L4 {: l 6YW]}__97P25]YSLR{XQKOH.png , V/ p( O9 v% ]: {. ]6 @

; ^5 R9 y2 j  B0 u4.1.2 打开VSCode安装包

4 [6 |6 |: t1 ]3 H' o, q在“VSCode使用教程”路径打开“VSCodeUserSetup-1.52.0.exe”安装包:& }# ^4 o# o+ I' ^( ~
: |8 T' X0 Q  b9 A
d1a6b33f061b4741a052c3f29009c544.png * V1 T! F2 I- x7 S7 e1 p
4 {* W- h& d! {6 }5 e& |' i$ m
点击“下一步”,到选择自定义配置时,按以下设置,全部勾选。
. ]% X/ Q( ?' L% O  T* A
8 Q8 r; q5 F) I2 i YG4O{5D{NLZWGKYXOHQ@[4L.png
" f# n% X0 D" k7 O! S$ R# T/ q
6 v* L3 e" M& \0 N  s$ u) C接着继续点击下一步安装完成。
9 [. `( @: m1 v  ?( Z2 _2 Z
. R6 @: T$ V! E7 n% E, t 26a4bd1a6ebf41acab52cbe396c5d73a.png
( T( t; D3 T1 m* a4 x) Z; c" @
# e; M9 i7 |% m/ x5 a: |4.1.3 安装汉化插件
" L1 q" X# Z0 r7 V# |4 |( J快捷键“Ctrl+Shift+P”打开搜索工具栏,并输入:“Configure Display Language”
2 \, K  c" [% z) f5 a% h& {
6 F6 d0 l) R- U: L3 |' W c4ad5838d21e4a74a9df92d34c3b4fbc.png
9 i1 z' m1 \7 V; \) I/ O
6 }( [3 t  b% B& R2 n2 }选择“en”英文为默认字体方便汉化。
5 R( k+ K2 U* L6 t
. k( _" [* ?6 [! S4 [ f167b55873274f38b9e68b652edbdaf1.png
3 s/ H" o, b7 C# U
& x5 q) }7 w& Y2 R5 J点击后会提示重启软件。
2 r: z- s+ n2 {1 D; [! m' J7 O3 O4 n# [7 T, B
0f844b7c76a942e898ba60a020360353.png ; C/ G7 R! k. t; G8 E/ q
3 F2 S% ?& l+ w/ Q+ I
重启后点击左边菜单栏的小方框,打开插件下载库。输入“Chinese”,并点击第一个插件“Install”。7 Z3 ]" \* K/ i

; T# {9 N7 S+ I( m
8 g" V+ ^' S- T6 f1 H' G, _& ]" x9 _8 f* J9 O  x
4.1.4 安装GCC驱动

5 e7 r( Y- o+ w5 l5 ~5 RWindows系统上如果不安装GCC驱动则无法使用“C /C++语言”的插件。4 c, x) Z& s4 C+ H
打开“mingw-get-setup”安装包。( l5 m+ [& Z3 J$ Q- p" M

& U  ~/ u/ I7 d1 l5 S' ] 22afa8e47d324506a169b615bfd10c3c.png
3 r0 Q0 y  f( g/ N& ]$ G5 b2 j( Q- B6 a1 K" |! ]: R
一路Next完成安装,选项都不用改。
' T2 L, `2 y! B  G3 v* A9 C" q
W5KEEPB_6QA`@Y%KZ(8R0VP.png 1 H+ e; y, a) P6 y: Z( i
6 S1 y- k3 U8 B# @/ C
进入程序洁面后选择"All Packages"=>“MinGW”=>“MinGW Base System”,勾选"mingw32-gcc-bin"% E, x' ~: ?2 T) L/ B

( ]! W) H; E- R2 c `8UC6K_EM@IHJYYJ`ZWTI}A.png / l$ ^+ }6 I6 L2 b3 x1 D
! o9 G9 b& x6 A, l! F# x$ H% Z
勾选好后点击“Installation”=>“Apply Changes”,等待安装就OK了。' w& ~/ f4 Y, G! U1 z0 _

( E9 s. G0 ^% a4 }1 v* c4 d TFK)RKQQ{910LHFRR$`3`51.png " N5 b, {' p& Z; b6 A4 {! ^
3 ?, P7 B( [2 C2 E1 u# V
接着在系统中添加GCC的环境变量。
* v# h1 @9 i4 `# \" J, h1 c鼠标右键"此电脑"=>“属性”=>“高级系统设置”,选择“高级”选项下的“环境变量”,在系统变量里点“新建”,填写MinGW的安装路径。5 _/ U4 M- Z2 f3 G
) t/ W  X& S1 A) x2 t+ [
%PD%$ZB]JK2%CUY0{IWFBZD.png ! c3 s' _: o; [! G! T7 p# V
& f9 e8 M6 U2 D" b8 q- Y
7J)H]87V`W)A5[XAC(HV3{J.png 9 H7 K! N4 b1 G) |

/ M6 F( F0 Q6 K 99862c658d354ea783cb517efd4bbcf7.png 9 ?% n: L4 G. O5 Y; @" W; W. h

8 Q: W8 X$ N, h. K9 l1 U+ C. ]! | 9762ae0d05364bd2ae346046e197cd21.png
2 ]/ Y( z& C3 g2 J4 S2 T4 V* V% @: S

& B( q# m. k3 J' j: b再在系统变量中下拉接着找到“Path”的变量,点击进行编辑:
% c! _6 B5 y* w# {% a1 B' A: O8 S( y6 Q! O7 A! I4 P
YF0EHPT42@)[@T]VLOV8VTJ.png 6 u1 V0 b6 n1 a  |1 i) k  `1 n0 ^
! Z; b' P, |; C
并添加:“C:\MinGW\bin ” 即可完成C语言插件的环境配置。
# g; x" K! u7 a1 \: v" Y- M% N5 d, X* j' d) f$ z% v% P/ ^
(96`K(]@O70U~2XSY9]{9F3.png # K9 l6 c0 Q5 S0 i, x% P

* q) z) @; `! `' k& Q4.2 安装VSCode插件$ N9 a! N1 Z3 c- n% |
4.2.1 安装Cortex语言包

7 j6 b: j! X/ e' F. E( ?: r! l, W默认安装的VSCode中是不支持任何语言的,因此我们需要安装相应的语言包。! Z2 V6 d! j3 `/ n
还是点击左边的小方框打开插件安装界面。
0 {$ ~# I5 c0 z" g$ c  z) K
- B3 i( d* _" T2 W7 r 09e2112f2ebb4c2babd68d3d8768abfe.png
( w7 |! `6 g* S5 s0 O# u1 k& z6 e6 Z4 F! \
f1e8445939584d65b7f860d60a522580.png / |6 I% Y- x7 p& f; p

0 B$ ~( M' k$ V1 }0 h: t% h) f. [分别搜索:”C/C++”,” Cortex Debug”,” C++ Intellisense”“ARM”四个插件进行安装。之后可以在已安装中看到这几个插件。  K. {; Z( I1 N9 a6 L6 a  u

' e- E/ c' c$ Q f56954989a2a4121b4aa8a88447810f7.png
( q0 o/ n, G2 @  T! m) R5 W3 F; Y8 e: I# e) Y
4.3 VSCode插件推荐
* ?9 M) X7 Q1 }+ ~  R1 u) l本章不涉及重要操作,可选择跳过6 p9 w( A, Z! ?. W; V8 F
VSCode最厉害的部分就是能提供所有人免费下载其他人使用的插件,定制化自己的IDE,来提高代码的效率,下面本文推荐一些比较好用的插件,安不安装看个人喜好:
0 K7 Q- i2 ]" t, S) F# {- a. K* ]* l
4.3.1 Keil Assistant
: w( {2 m! q+ ^1 C- Q  ~4 z8 N0 A
$ G* w+ M& z( a: H% \! K* p3 C0 A de798e438dca4f969a3d755e016c5a36.png 6 r  d0 T" a6 w- y' ]4 ?. w. }

) T% f5 U5 {) {, [: _( A7 S- qvscode 上的 Keil 辅助工具,与 c/c++ 插件配合使用.
1 E2 N7 K7 j: i能够为 Keil 项目提供 语法高亮、代码片段 的功能,并支持对 keil 项目进行 编译、下载。仅支持 Keil uVison 5 及以上版本
9 p% i% E) `6 z$ O: t0 ~! \; t0 u3 l5 S( W) F5 ]" q
4.3.2 vscode-icons9 I2 R6 F- X0 D, Y* g, T5 _9 O
* _$ A% V: i; |; p: H2 g# b
ae1200d3f0594e8b93c3fa7be6e76076.png , O* E3 N8 B2 [2 b) ?8 |
, h7 H4 Z1 J# c: Y/ H. g
VSCode上的图标管理工具,能够增加工程文件内的文件图标,方便快速找到对应的文件夹以及文件。可以看到原本没有图标的资源管理器有了对应的图标,方便查找文件。1 @( o8 A. l" \) H

3 R0 O8 {9 _+ n7 X 36b8e3ce18674e34a377a950d249e5b7.png 7 ~2 q3 w( A1 w$ s( [. }
4 s: j( B. S, q0 D! n! u, A
a4412073fdc4463cb465ded4a48b10cb.png & z3 U. ?! N+ i4 N) L3 W; o4 {

+ ]6 V- u  L" l: B5 l1 A: Y; q4.3.3 Prettier8 B8 \1 M7 a5 a. C
0 E& x& G+ y, R/ Y7 d8 D
代码自动换行器,保存的时候自动对代码整理,将过长的代码分割成几个小代码,
- j, ]: F$ m6 e; D3 u1 E, S& a1 J
44e196124d2d4bdeb6f4f60f04d36bd4.png   F/ n: Y4 T# x2 Z; L9 K

! g9 P7 m/ j# \) l. X3 W C6FFW4`3_X}2H{R)0R15`GY.png . G" M+ ^8 ^- L/ I1 f

9 t' c0 B8 F6 F( z- Z安装插件后,使用快捷键“Shift+ALT+F”即可自动美化代码。也可以设置成保存时自动美化代码,使用快捷键“Ctrl”+“,”进入设置界面,在搜索栏中搜索“Save”,找到“Ediitor:Format On Save”的保存功能并打勾。就可以在保存时自动整理代码。& D+ L- c+ }/ N: `( p" I+ J+ J. b
; W+ _3 p) \3 s
993d6af8cfb14e069ab62db1aa64d25e.png
. f3 D3 X8 P: @: N7 x2 e
2 x" O& n( x% y; y2 |) {4.3.4 Sort Lines9 {* }% s- H% q" d9 D2 O" J

# K3 o) C! ]2 s( w c46ad56818554f3eade5d493c329f83d.png
( `9 S6 R+ o( s( T
: t" ?* N# N- H6 I& y: v4 N自动排序功能,可以对选中代码排序,选中需要排序的代码后,按快捷键“F9”对这些代码进行A→Z的顺序排序,也可以按“F1”选择自己想要的顺序排序。多适用于多个部件变量命名的排序(例如下图电机命名)。" i4 C, j6 {2 f' p- V  f* `+ e7 N
, Z5 |+ o3 ~3 @; A5 w! p1 p
2a0860169cfe441d894d7a8e525a07e7.png
8 b% W' v6 n0 I* O* e+ X+ H; e! U) G0 Q8 \6 \! A1 N
4.3.5 Code Spell Checker1 K$ O, d& h1 W- z7 F% |* P; [3 o

$ p4 F+ Z( U! J. e' W 685b6b2502b947f8b6ef8eb932bd3778.png
! k7 g& p! g* V: S, e( P7 O+ w9 t7 G8 q/ b# t
英文单词纠错助手,会用波浪线提示你哪些英文单词拼写有误。如果说想要把某个单词添加到纠错词库中,就点击波浪线,随后再点击前面的小灯泡选择添加至用户词库即可
" ]7 H/ Q& o2 A0 N: D5 q% ?$ d5 Z& I/ e
% M7 S8 |7 v4 ?# O. A  B2 N0 j: { 0802bb682a864313b24fdfe87406a998.png , a. w2 ?# J" \9 K( X

) @- |6 V+ Q  ?' A+ q- G- ^4.3.6 Bracket Pair Colorizer! _! @( |( E$ l0 C, h
嵌套括号标注工具,为不同的嵌套括号使用不同的颜色,方便查看嵌套函数。* K+ v1 ?+ Q4 N  p. K' ?
  e% v6 z, ?" p, i+ x) a, v, G7 \/ X& d
a95f0fef86354965b85ed94ca4dd8607.png $ {" e- ]8 X* `# J3 \# v& I0 e3 |

  y  j8 l6 s$ m4 M6 V& _) h+ s: _ 7737cff76f6a4c9f903ace05bdd7d73c.png
4 m( r  }' h7 l0 d) s) t# ]% i& i
' _. i9 w9 V# ~8 n4.3.7 GitLens 
0 Z# S) m- i+ Z1 [+ P  b$ L1 Y0 D$ Y' ]9 a" Y
379c280c45f0412d829fb7f0e1db44a1.png
+ b5 @9 K7 Q; e& m9 ]6 ]3 e* J8 O/ y# Y  F- g, K$ R7 ^
用于查看Git版本日志的日志插件,搭配版本上传系统Git使用。- d  l6 l; u& e( v2 n
  J2 ^5 l3 |* d: Q
4.3.8 Git History- O, \& o; n+ Z2 s- z& ?

% N5 X9 S8 G2 V) O0 ? 8fb83dd2361c47cd8eb9be344ad2b787.png " A4 y0 B+ y" O) b
( [( G: H, \+ g$ I' @# j
用于查看Git版本历史分支的插件,搭配版本上传系统Git使用。* I6 |, f* c0 V' z2 w! J/ b, z) }

/ n! Z- b+ T  `" X. n0 d4.3.9 STM32 for VSCode( h& l' x& p3 o1 N( W  `

. _# p& [: J0 L, I) _ f81b25def653423da314c713218c2491.png
4 L7 @- d' p$ K+ q' Q# r4 _0 w6 T" p, P( q
用于调试STM32CubeMX产生的Makefile文件,并带有烧录功能,因为本文教程是把VSCode当做文本编辑器使用,因此不需要此插件,有兴趣的可以尝试玩玩。
# l! X: Z) ~; ]6 ?6 t, Q/ I6 u: O$ E0 s6 ~! y/ F
5 VSCode功能介绍' `( n- L: A  Y2 }1 V
5.1 使用VSCode! v: G4 I' O" ?
5.1.1 用VSCode打开文件工程
% X$ d; l( X4 u: B. G" w0 }( S; k
方法一:打开创建的工程文件夹目录,例如CubeIDE的Project工程文件夹。右键点击文件夹空白处打开文件夹右键快捷菜单。
, M; T1 R5 _* _& x+ n5 a  |
! M/ M% [! ]: V" S0 Y& W' m _4Y{%NZMYX~_7H6E}((}801.png
7 F. [; a- B% j1 `. y, G$ P  N0 k1 i. U# F2 H2 I1 U( q* ^+ Y# |0 C
点击“通过Code打开”即可打开整个CubeIDE所创建的工程目录。, ?3 l2 o2 Y" m+ C/ C; }. G3 \
4 N  k% @# a  \. [7 I
XUN`2LB2})~V%S8xCGNH0.png
* ^+ A+ k4 ^2 R5 h# ~& U/ N5 V" |% F( y) |  H
方法二:在打开VSCode后,点击左上角文件菜单,选择“打开文件夹”( J- [" Q# I) k. J" f$ U6 s

! G) n) S5 V, Y  C! j e71cc047568d4d5ea6d9d20429f9bde4.png 0 W( C) @0 H1 T- u0 ^4 ]% X
4 V2 G: g. l7 g) q. N& I* I
5.1.2 Path/inculudes配置& ?9 h5 k' s2 u! G, k
打开main.c ,可能会发现很多语法报错,使用快捷键"Ctrl"+","打开设置界面,在搜索栏搜索: “intelli sense mode”,在下拉选项改成“gcc-arm”。
: T3 e, x2 Q  Z# d/ B
. b7 }! N: S6 E& }! S' u D[76]LTJIS$)@]I_(QDR}AA.png 3 ^2 t- Z! m) x  I7 B9 _
; p/ F8 O3 a1 |
接着使用快捷键“Ctrl+Shift+P”打开搜索栏搜索“编辑配置UI”,去添加宏定义。
- W" A! X% i6 m' W0 F; R5 y" I" x
" ~' _" g! H' v  ~0 {% D/ T7 E 17c5d6fcd4d34a52a24a5cf948c2477b.png
9 S7 @# G) N1 h2 {- W9 I
" t- C' V- F" D 64cb5929dd4a4473942944be51b52aff.png
# e# n! t4 u! b/ X
5 s. @# s) O& P5 Y下拉找到定义,添加以下内容:
1 {- q+ ]# n, g
2 l" r% b. @+ X! T 8248eb071bdf402d80333173c16bbe64.png ' `. ]8 J6 Q, ~
3 E+ }1 k5 S: ~( {; K
8b8b2ac7e61a42d193c3d297a9b694dc.png / T, \5 s8 K% t0 C0 c: n
4 R. N) `0 k9 ?/ O, q
这些宏定义可以在STM32CubeIDE的工程属性中看到。9 A( T' l, K. N% r/ p0 {

$ g) x6 v" a) N% {- S0 E- a; E 1785061e9ea9455ead6502df1015122d.png 7 t) ?# A5 W% W9 ?, j  a0 k' b
9 _, P* N0 N. {- ^  L. v8 T* u
并在VSCode定义上方确认包含路径中是否含有本工程的文件夹位置:. u! O- ], A% w- @. v- s8 d

7 O, p/ `* a: h" d$ S+ o: E" k5 y6 I 1Q([ZK))2~PH91427$%OS.png
4 A  a0 ]6 @, D) Z4 M5 U* d$ n. Q
; b. W$ [0 v( @C:/Users/HP/Desktop/LEDTest_Project/**; ?* C) x1 w4 V/ g6 _: y

5 _! b* G" ]) }/ ]- S' V4 ]5.2 修改VSCode代码
! G5 e; f# a( g  n) N) C7 m# r5.2.1 自动补全功能介绍

% Y# a  h( K4 u' _; a3 _VSCode拥有最完善的原生自动补全功能,在输入一个字符以后下方会自动联想需要补齐的内容,而这些STM32CubeIDE需要插件才能实现。7 L# d; B8 I; K. X/ P4 ^/ ~

$ F) _" j) T8 e, q& ] cef455bf01d84b7cb322e317a0cb653e.png
; s( _5 M0 _3 m6 [9 \8 y! H+ e$ B2 a2 E2 F7 W( {
而且自动补全的代码还会带有对应的图标,例如函数是紫色的立方体,变量是白色的长方形等号等等。8 o7 w2 o4 d- p8 b/ v
( c$ a# K9 l, A( i
5.2.2 函数定义简览功能介绍" ?5 {2 C0 Q$ ]  \
VSCode还自带函数定义简览,将鼠标放在函数上,就会浮现出该函数的定义。9 n/ j7 ~/ u7 K# g/ X# _8 K. h/ o

$ _4 C8 j/ D/ Z8 x, `8 H e0fd9d5d22014482a7ec5dd6f6b6e73b.png
8 u- k$ ~- ]# o: w" k( E5 x& c; @8 }/ G' M8 D5 A/ J
在联网后,把鼠标放在函数上甚至会出现谷歌出来的各个参数的解析。& Y* |" ]7 q4 ?* r
. v: e& H7 \+ Y& _
c76d1f57ef8447bba615ad8300e4e5e3.png
* U4 J& m* ]4 i( h5 Y1 h4 O. q+ G
/ O* m; X  h8 v; Y& A鼠标放在函数上按快捷键“ALT”+“F12”或者右键速览定义,可以快速查看该函数定义的及其周围的函数。
# W- K! t# C6 g2 O$ n2 a) U6 r9 s. i: P1 t+ N- d
MY2MN%X01DZX4$UUI~AV~G5.png
$ K8 u1 B9 V. V% `4 H- O0 J0 x# n& f$ ~- S, M0 j& U
5.3 VSCode快捷键介绍; B3 ?* H9 e8 o% T( n# i" t" O$ F
5.3.1 常用快捷键
# h: E: i4 E6 w# k4 ]5 U5 I) ]
“Ctrl”+“S” 保存文档。
% b" s2 E5 G. B0 W1 a7 E8 ]$ g“Ctrl”+“/” 设置/取消注释+ o8 y! |6 j1 E) ^- b
“Ctrl”+“[”/“]” 设置缩进% |3 h3 L9 }. ?( @" ~7 f* e
“Ctrl” +“F” 搜索代码
9 Z2 Q# k9 t" `“Ctrl”+“H” 替换8 n9 G' F( w6 ^: b: b. g
“Home” 跳转到行首2 W% T2 q9 u$ ]: E5 @  E3 w% q
“End” 跳转到行尾# x; u) x0 i  H7 E7 y4 l4 I
“ALT”+“F12” 速览定义! J; Y8 S& D! a3 p$ {% E! k  n# f: W* X
“Shift” +“F12” 速览引用" }" X8 z% C; @3 y' t) R
“Ctrl”+“Shift”+“P” 搜索VSCode功能
7 q4 f- H/ V9 x) j- S9 `“Ctrl”+“,” 设置菜单
0 h, i" g8 X/ `9 w: ?9 {" @6 v* u$ V6 t: c* P% p8 A  A+ E
2 W0 X. ]& }. J: o
  U2 K; t0 s% @6 ]" x* u" T
赞 收藏 评论0 发布时间:2022-4-24 21:35

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版