使用VSCode环境编程的一些注意事项

20 篇文章 0 订阅
15 篇文章 0 订阅


VSCode由于插件众多,支持的语言也非常多,是越来越好用,越来越火。有一款插件叫Code Runner支持VSCode下一键运行各种语言,非常好用,但笔者在使用过程中遇到一些问题,需要修改配置才能正常使用,这里作一个记录:

一、Go语言

1. 使用Code Runner运行

Go语言的包管理是以目录界限的,一个目录中只允许一个包,但允许有多个文件共属这个包。比如Go目录下有两个文件:main.go和util.go,它们的内容如下:
main.go

package main

func main() {
	println("你好,世界!")
	gotest()
}

util.go

package main

func gotest() {
	println("调用gotest")
}

我们在main.go文件中点右键运行Run Code会出现找不到函数定义的错误:
在这里插入图片描述
在这里插入图片描述
这是因为Code Runner默认的运行命令是:go run 加当前文件,如上图。由于main.go使用了util中的函数,但util.go并未自动载入。我们可以在终端中试试把util.go加上。
在这里插入图片描述
正常输出了,这种方法适合文件数量比较少的情况,而且Code Runner不方便直接指定文件名。
还有一种方法就直接使用当前目录:.
在这里插入图片描述
修改CodeRunner的配置:
在这里插入图片描述
在这里插入图片描述
把go的配置改为:

cd $dir && go run .

现在运行Code Runner就正常了。
在这里插入图片描述
也许我们的项目不在${GOPATH}目录下,而是任意一个目录,项目中有多个包(多个子目录),Code Runner也能够正常运行,只要在代码中import了,比如项目中有一个test包,import方式为加上"./"路径,如:
在这里插入图片描述

2. 关于提示

在编码过程中也许不会出现我们希望的提示,可以在设置中勾中“Autocomplete Unimported Packages”
在这里插入图片描述

二、Python语言

1.使用Code Runner运行

Python目前的两大版本Python2与Python3都还在维护,一些系统还默认安装的是Python2,但Python2很快就会结束支持了,所以建议大家都还是使用Python3,同时Python3对UTF8的支持也比较好一些,比如下面的代码:

def main():
	print("你好,世界!")
	
if __name__ == "__main__":
	main()

在笔者的Mac中直接使用Code Runner运行的话会出现错误:
在这里插入图片描述
那里因为系统默认的Python是Python2。
按Go语言中的方式修改Code Runner配置,改为python3,前提是安装了Python3

python3 -u

在这里插入图片描述
如果还是不能正常输出中文,可以添加环境变量:

  • Mac下如果是使用的bash则在用户目录的.bash_profile中添加
export PYTHONIOENCODING=utf-8 

在这里插入图片描述
如果是使用的zsh,则使用:

vi ~/.zshrc

在其中添加上面的变量。

  • Linux中一般使用的是Bash,跟Mac下的Bash添加方法一样
  • Windows
    在“控制面板”/“系统”/“高级系统设置”/“环境变量”中添加,可以添加用户变量也可以添加系统变量。

2.格式化

在VSCode中编写Python时,使用格式化功能,需要安装Autopep8。该工具默认在格式化时会将Tab缩进改为空格。但是有时我们更希望使用Tab缩进而不是空格,可以在VSCode中设置:
在这里插入图片描述
如上图,添加:

--ignore=W191,E101,E111

三、C/C++

1. 代码格式化

在设置中如图设置,注意Clang_format_path需要填写完整路径,格式化风格可以使用多种风格,看各人习惯或者各公司情况设置。
在这里插入图片描述
如果有什么问题格式化失败,VSCode会在右下角给出提示:
在这里插入图片描述
此时可以在输出窗口选择C/C++查看问题。
在这里插入图片描述

2. Code Runner编译运行问题

- Windows使用Clang的问题

Code Runner默认使用gcc编译C程序,g++编译c++程序,如果是希望使用Clang进行编译,只需要将settings.json中的"code-runner.executorMap"中c/c++的配置命令改为clang/clang++即可。
在这里插入图片描述
但是在Windows下还有点问题,就是使用Clang生成的文件没.exe后缀。无法正常执行。需要在如图所示添加后缀.exe
在这里插入图片描述

- 多文件问题

如果项目中main函数所在目录有多个C/C++文件,也可以使用Code Runner一键编译运行,只需要把前面的C/C++中的$fileName改为通配符即可。

"c": "cd $dir && clang *.c -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && clang++ *.cpp -o $fileNameWithoutExt && $dir$fileNameWithoutExt",

注意:
如果想C/C++混合使用,可以尝试再改为:

"c": "cd $dir && clang *.c *.cpp -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && clang++ *.c *.cpp -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
  • 如果main函数所在文件是一个c文件,引用了C++文件函数,可能会出现链接问题
  • 而如果main函数所在文件是一个C++文件,引用C文件函数,则会出现一个警告,强制把C文件作为C++文件来处理。
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值