VS 使用技能总结

常用快捷键

  • 复制/剪切/删除整行代码
    1)如果你想复制一整行代码,只需将光标移至该行,再使用组合键“Ctrl+C”来完成复制操作,而无需选择整行。
    2)如果你想剪切一整行代码,只需将光标移至该行,再使用组合键“Ctrl+X”来完成剪切操作,而无需选择整行。
    3)如果你想删除一整行代码,只需将光标移至该行,再使用组合键“Ctrl+L”来完成剪切操作,而无需选择整行。

  • 撤销/反撤销
    1)撤销:使用组合键“Ctrl+Z”进行撤销操作;
    2)反撤销:使用组合键“Ctrl+Y”进行反撤销操作。

  • 调用智能提示
    1)方法1:使用组合键“Ctrl+J”;
    2)方法2:使用组合键“Alt+→”。

  • 注释

    • 注释:Ctrl+k, Ctrl+c
    • 取消注释:Ctrl+k,Ctrl+u
  • 代码查看快捷键

    • 转到定义:F12
    • 后退:Ctrl±
    • 前进:Ctrl+Shift±
  • 代码格式化

    • Ctrl+k+f

代码编写快捷键

强制显示 IntelliSense:Ctrl+j
编辑器缩放:Ctrl+Shift+>(放大),Ctrl+Shift+<(缩小)

添加c/c++工程中外部头文件及库

1、添加工程的头文件目录:工程—属性—配置属性—c/c+±–常规—附加包含目录:加上头文件存放目录。
2、添加文件引用的lib静态库路径:工程—属性—配置属性—链接器—常规—附加库目录:加上lib文件存放目录。
工程—属性—配置属性—VC++目录–包含目录与库目录

  1. 然后添加工程引用的lib文件名:工程—属性—配置属性—链接器—输入—附加依赖项:加上lib文件名。
  2. 在代码中添加应用的lib文件名:#pragma comment(lib,“wpcap.lib”)

3、添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。
4、工程-属性,如有需要配置选择【所有配置】,否则Debug与Release的配置不同。

插件安装与使用

安装方法: 【工具】【扩展和更新】

  • Go To Definition 使用Ctrl和鼠标左键点击进入定义处
  • Viasfora 高亮,让自己看代码舒服
  • ClaudiaIDE 更换编辑器背景
  • Markdown Mode 编辑Markdown
  • Glyphfriend 图像文字支持
  • Web Essentials Web开发增强
  • AStyle Extension 代码风格格式化
    Visual studio中AStyle Extension插件的安装和配置及使用
  • Image Watch Provides a watch window for visualizing in-memory images (bitmaps) when debugging native C++ code
    http://go.microsoft.com/fwlink/?LinkId=285460
  • Code Cracker for C# 类似Resharper内的丰富优化提示
  • Microsoft Visual Studio 2015 Installer Projects 以前版本自带的安装模版

安装破解的工具导致VS2015启动不了

用安全模式启动Visual Studio试试,操作命令devenv /safemode,然后卸载工具

相关工具使用

查看程序或动态库依赖的动态库

  • dumpbin工具,VS自带工具
    # 查看可执行程序的依赖库
    dumpbin /dependents darknet.exe
    # 查看动态库的输出函数
    dumpbin /exports yolo_cpp_dll.dll
    
  • http://www.dependencywalker.com/ 界面工具,可惜我在win10上没用起来

常见问题

【error C4996: ‘sprintf’: This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.】

原因解释:

这种微软的警告,主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。关于这些改写的函数你不用专门去记忆,因为编译器对于每个函数在给出警告时,都会告诉你相应的安全函数,查看警告信息就可以获知,在使用时也再查看一下MSDN详细了解。库函数改写例子:

  • mkdir改写为 _mkdir
  • fopen”改写为 fopen_s
  • stricmp改写为 stricmp_s
  • sprintf改写为sprintf_s
  • strcpy改写为strcpy_s

解决方法:

  • 方法一:调用VS2005鼓吹的那些带“_s”后缀的非标准函数,即在其后加上"_s",如sprintf改为sprintf_s 。
  • 方法二:在文件最开始添加#define _CRT_SECURE_NO_DEPRECATE或#pragma warning(disable:4996) ,这是忽略警告的方法(一般比较少用)。
  • 方法三:干粹在工程属性中设置(推荐)。
    打开项目----项目属性—配置属性----C/C++ ----预处理器----预处理定义,添加_CRT_SECURE_NO_DEPRECATE和_SCL_SECURE_NO_DEPRECATE这两个宏。

拓展资源

  • 可再发行程序包
    • Microsoft Visual C++ 2008 Redistributable Package (x86)(x64)
    • Microsoft Visual C++ 2010 可再发行组件包 (x86) (x64) 110
    • Visual C++ Redistributable for Visual Studio 2012 Update 4
    • Microsoft Visual C++ 2013 可再发行组件包 (x86) (x64) 120
    • Microsoft Visual C++ 2015 Redistributable Update 3 140
    • https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
  • Visual Studio Enterprise 2015 with Update 3 (x86 and x64) - DVD (Chinese-Simplified)
  • VS2013/2015/2017卸载工具 https://github.com/Microsoft/VisualStudioUninstaller
  • 鸡啄米VS2010/MFC教程
  • theForger’s Win32 API Programming Tutorial
  • Qt Creator快捷键
  • 关于VS2013下制作和使用静态库和动态库

参考

  • Visual Studio 的提示和技巧
  • VS中的快捷键快速格式化代码,使好看,整齐
  • VS项目属性的一些配置项的总结(important)
  • Visual Studio 2010 Uninstall Utility
  • 完美卸载Visual Studio2015的方法汇总

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vim使用总结

vim使用命令 【自动补全操作】 Ctrl n / Ctrl p 自动补全字符串Ctrl x Ctrl f 自动补全文件名 【多文件操作】 打开多个文件&#xff1a; vim file1 file2 … filen 在同一个窗口中打开所有想要打开的文件vim -o file1 file2 … filen 打开一个编辑会话&#xff0c;水平分…

内核编程之Hello_kernel

前言 通过hello_kernel编程达到以下目的: 内核编程框架了解模块参数调用模块间函数调用内核模块相关关的命令使用 环境准备 内核源码树准备,有两种方法: 方法1&#xff1a;从kernel.org下载内核源码&#xff0c;手动编译 方法2&#xff1a;通过yum安装与系统版本一致的内…

机器学习基本库学习

前言 之前做过将近一年的python爬虫&#xff0c;python语言基础还是有的。眼下机器学习如日中天&#xff0c;项目中有用到机器学习对采集的内容进行分类的功能&#xff0c;闲暇之际学习一下相关的库&#xff0c;以期待money 简介 numpy python科学计算基础库matplotlib Ma…

unixODBC的使用

unixODBC介绍 unixODBC is a complete, free/open, ODBC solution for UNIX/Linux. 官网 http://www.unixodbc.org/源码下载url ftp://ftp.unixodbc.org/pub/unixODBC/ unixODBC版本目前有两套&#xff0c;soname为libodbc.so.1与soname为libodbc.so.2 对于使用libodbc.so.…

Jupyter notebook应用总结

简介 Jupyter Notebook 是一个交互式笔记本程序, 其有丰富的快捷键来便捷的完成工作。Notebook 有两种键盘输入模式。即命令模式和编辑模式&#xff0c;这与 Vim 有些类似。在编辑模式下&#xff0c;可以往单元中键入代码或文本&#xff0c;此时单元格被绿色的框线包围&#x…

opencv常用函数

给源图像增加边界 cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) src:源图像top,bottem,left,right: 分别表示四个方向上边界的长度 borderType: 边界的类型BORDER_REFLICATE  # 直接用边界的颜色填充&#xff0c; aaaaaa | abcdefg | ggggBORDER_RE…

【TensorFlow】稀疏矢量

官方Document: https://tensorflow.google.cn/api_guides/python/sparse_ops开发测试环境: Win10Python 3.6.4tensorflow-gpu 1.6.0 SparseTensor与SparseTensorValue的理解 SparseTensor(indices, values, dense_shape) 稀疏矢量的表示 indices shape为[N, ndims]的2-D i…

【Numpy】array操作总结

官方Document: https://www.numpy.org/devdocs/reference/routines.array-manipulation.html开发测试环境 Win10Python 3.6.4NumPy 1.14.2 Basic operations 函数原型作用[copyto](dst, src[, casting, where])Copies values from one array to another, broadcasting as nec…

【TensorFlow】conv2d函数参数解释以及padding理解

卷积conv2d CNN在深度学习中有着举足轻重的地位&#xff0c;主要用于特征提取。在TensorFlow中涉及的函数是tf.nn.conv2d。 tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpuTrue, data_format“NHWC”, dilations[1, 1, 1, 1], nameNone) input 代表做卷积的…

卷积与傅立叶变换

一、卷积 1、一维的卷积 连续&#xff1a; 在泛函分析中&#xff0c;卷积是通过两个函数f(x)f(x)和g(x)g(x)生成第三个函数的一种算子&#xff0c;它代表的意义是&#xff1a;两个函数中的一个(我取g(x)g(x)&#xff0c;可以任意取)函数&#xff0c;把g(x)g(x)经过翻转平移,…

海明纠错码工作原理

海明纠错码 海明码&#xff08;Hamming Code&#xff09;是一个可以有多个校验位&#xff0c;具有检测并纠正一位错误代码的纠错码&#xff0c;所以它也仅用于信道特性比较好的环境中&#xff0c;如以太局域网中&#xff0c;因为如果信道特性不好的情况下&#xff0c;出现的错…

OpenCV-Python bindings是如何生成的(1)

翻译自How OpenCV-Python Bindings Works? 目标 学习 OpenCV-Python bindings是如何生成的如何为Python扩展新的opencv模块 OpenCV-Python bindings是如何生成的 在OpenCV里&#xff0c;所有算法都是用C实现的。但是这些算法可以在别的语言里使用&#xff0c;比如Python&…

OpenCV-Python bindings是如何生成的(2)

OpenCV-Python bindings生成流程 通过上篇文章和opencv python模块中的CMakeLists.txt文件&#xff0c;可以了解到opencv-python bindings生成的整个流程: 生成headers.txt文件 将每个模块的头文件添加到list中&#xff0c;通过一些关键词过滤掉一些不需要扩展的头文件&#x…

【TensorFlow】学习资源汇总以及知识总结

官方资源 官方网站 https://tensorflow.org 非翻墙神器不能访问也&#xff08;关键是我用了翻墙神器也没能访问&#xff09;伪官方网站 https://tensorflow.google.cn/ 墙内的人可以查阅的资料github https://github.com/tensorflow/tensorflow官方提供的models以及tutorial h…

机器学习资源锦集

http://www.cnblogs.com/pinard 十年码农&#xff0c;对数学统计学&#xff0c;数据挖掘&#xff0c;机器学习&#xff0c;大数据平台&#xff0c;大数据平台应用开发&#xff0c;大数据可视化感兴趣。github 深度学习 【深度学习】批归一化&#xff08;Batch Normalization&…

获取训练数据的方式

下载搜狗词库 https://pinyin.sogou.com/dict/ 在官网搜索相关的词库下载&#xff0c;比如地名等&#xff0c;然后使用脚本将此条转换成txt保存&#xff0c; 来源 # -*- coding: utf-8 -*- import os import sys import struct # 主要两部分 # 1.全局拼音表&#xff0c;貌似…

浅谈python MRO与Mixin模式

MRO(Method Resolution Order) In object-oriented programming languages with multiple inheritance, the diamond problem (sometimes referred to as the “deadly diamond of death”) is an ambiguity that arises when two classes B and C inherit from A, and class D…

CentOS7开发环境搭建(2)

关闭SELinux # 查看 $ getenforce Disabled $ sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: …

IntelliJ IDEA开发环境应用

安装 下载windows压缩包获取帮助: idea.medeming.com/jihuoma 常用设置 全局设置&#xff0c;对新建的工程生效 【File】【Other Settings】【Setings for New Projects…】 比如配置maven的路径以及配置文件的路径&#xff0c;基本设置一次即可&#xff0c;不需要每次新建工…

tcp状态机-三次握手-四次挥手以及常见面试题

TCP状态机介绍 在网络协议栈中&#xff0c;目前只有TCP提供了一种面向连接的可靠性数据传输。而可靠性&#xff0c;无非就是保证&#xff0c;我发给你的&#xff0c;你一定要收到。确保中间的通信过程中&#xff0c;不会丢失数据和乱序。在TCP保证可靠性数据传输的实现来看&am…