使用VisualC++和OpenFolder自定义环境lsgxeva

安装产品时,请确保安装其中一个C++工作负载,例如“使用C++进行桌面开发”或“使用C++进行游戏开发”。

之后,您只需运行“打开文件夹”命令并选择要浏览的文件夹(从文件>打开>文件夹或快速启动)或从命令提示符直接启动devenv.exe

打开文件夹后,解决方案资源管理器将立即显示该文件夹中的文件,您可以在编辑器中打开任何文件。在后台,VisualStudio将开始索引文件夹中的C++源代码。

您现在可以访问阅读和浏览C++代码的所有VisualStudio功能(例如,查找所有引用,转到符号,Peek定义,语义着色和突出显示,类视图,调用层次结构等等)。

当您从项目中创建,重命名或删除源文件时,您不必再担心更新VisualC++项目-VisualStudio将依赖于文件夹结构并根据需要监视磁盘上的更改。此外,当您编辑代码时,VisualStudio的IntelliSense将继续更新并帮助您获取源中的最新信息。

根据项目的不同,您可能需要使用有关源代码的更多信息来自定义这些配置,例如其他包含路径,其他定义或编译器开关。为此,在根文件夹中创建一个名为CppProperties.json的文件-该文件将有助于配置C++IntelliSense和浏览。

CppProperties.json:

以下属性可用于给定配置:

此文件支持包含路径和其他属性值的环境变量扩展。语法为${env.FOODIR}以扩展环境变量%FOODIR%。

您还可以访问此文件中的内置宏:

例如,如果您的项目有一个包含文件夹,并且还包含Windows.h和WindowsSDK中的朋友(这很常见),您可能希望使用以下内容更新配置文件:

注意:%WindowsSdkDir%和%VCToolsInstallDir%未设置为全局环境变量,因此请确保从定义这些变量的“VS2017开发人员命令提示符”启动devenv.exe。

提示:通常,错误列表窗口是查看由于缺少包含而导致的任何IntelliSense错误的良好起点-将其内容过滤为“仅限IntelliSense”,错误代码为E1696:

您可以在CppProperties.json文件中创建任意数量的配置,并可以从标准工具栏中的C++配置下拉列表轻松切换它们

CppProperties.json

通过直接在IDE中将它们作为任务运行,您可以在当前工作空间中的文件上自动构建脚本或任何其他外部操作。您可以通过右键单击文件或文件夹来配置新任务,然后选择“自定义任务设置”。

这将在工作区中隐藏的.vs文件夹下创建一个新文件tasks.vs.json,以及一个可以自定义的新任务。

默认情况下,可以从解决方案资源管理器中的文件的上下文菜单执行任务。对于每个任务,您将在上下文菜单的底部找到一个新条目。

Tasks.vs.json

就像CppProperties.json一样,在tasks.vs.json中,您可以使用语法${env.VARIABLE}来使用环境变量。

此外,您可以在任务属性中使用内置宏:

您还可以自己指定可在任务属性中使用的其他用户宏,例如下面示例中的${outDir}:

通过将给定任务的“contextType”指定为“build”,“clean”或“rebuild”,您可以连接可以从上下文菜单调用的Build,Clean和Rebuild的VS内置命令。

您可以通过在“applyTo”字段中指定其名称来为任何文件或文件夹创建任务。但是要创建更多通用任务,您可以使用文件掩码。例如:

要在VisualStudio中开始调试,您需要在解决方案资源管理器中导航到可执行文件。然后右键单击,选择“Debug”-这将立即启动此可执行文件的调试会话。

或者,您可以在任务定义中指定输出二进制文件(通过“输出”)。一旦你这样做,如果你选择源文件作为启动项(右键单击,“设置为启动项”)或只需右键单击源文件并选择“调试”,这个二进制文件将在调试器下自动启动。

如果要自定义程序的参数,请选择“调试和启动设置”。这将创建一个新的launch.vs.json文件,其中包含有关所选程序的信息。

要指定其他参数,只需将它们添加到“args”JSON数组中,如下例所示

launch.vs.json:

保存此文件后,“调试目标”下拉列表中的新条目将可用,您可以选择它以启动调试器。通过编辑launch.vs.json文件,您可以为任意数量的可执行文件创建任意数量的调试配置。如果现在按F5,调试器将启动并命中您可能已设置的任何断点。现在可以使用所有熟悉的调试器窗口和功能。

这种新灵活性的核心在于项目的CppProperties.json文件,它来自两个新概念:

将这些新概念与使用“${env.VAR}”语法在CppProperties.json,launch.vs.json和tasks.vs.json中使用环境变量的现有功能相结合,为创建丰富的开发环境提供了强大的机制。

让我们从一个快速示例开始,说明如何使用此功能:

为了解压缩这个,这个例子定义了使用Microsoft的VisualC++工具链构建的两个配置。x86的第一个构建(因为它继承了“msvc_x86”环境),而另一个构建了x64。它还定义了两个配置使用的环境变量“INCLUDE”(第6行)。

请记住,可以为所有配置,每个配置或两者全局定义“环境”(第4行)和“inheritEnvironments”(第12行和第25行)属性。在上面的示例中,“INCLUDE”变量将是全局变量,“inheritEnvironment”属性将仅适用于每个单独的配置。

今天有以下环境:

特定于配置的环境变量最后被评估,因此它们会覆盖全局变量。以下示例说明了注释中的覆盖行为:

如果环境变量的值是特定于配置的,那么当您在任务或启动配置中包含此任务时,将使用当您尝试运行任务或调试程序时当前所选配置的值:

如果不包括此项,则只有全局定义的变量可用。

您可以在第14行看到可以引用CppProperties.json文件中定义的变量。第17行的“\u0000”是用于分隔变量的空字符。

以下示例显示了如何完成创建自定义命名空间:

您可以使用语法“${special.SpecialVar}”在任何CppProperties,Launch或TasksJSON文件中访问“SpecialVar”,如第32行所示。

Togetstartedwiththiscreateafilemain.cppinafolderonyourPC,addthesourcebelowtoitandopenthefolderinVS.

#includeintmain(){ std::cout<<"Hello"<EditSettings>CppProperties.json.Modifythefilesoitjusthasoneentrylikethebelow.

{"configurations":[{"inheritEnvironments":["linux_x64"],"name":"Linux-x64","includePath":["${env.INCLUDE}"],"defines":[]}]}IntheSolutionExplorerrightclickmain.cppandchooseConfigureTasks.Inthetasks.vs.jsonfilethatopensmodifythetaskasfollows.Thistaskwillcopythedirectorytotheremotemachinespecified,thenrun“g++main.cpp”inthedirectoryspecified.

{"version":"0.2.1","tasks":[{"taskName":"Build","appliesTo":"main.cpp","type":"remote","contextType":"build","command":"g++main.cpp","remoteMachineName":"ubuntu","remoteCopyDirectory":"~/sample","remoteCopyMethod":"sftp","remoteWorkingDirectory":"~/sample/hello","remoteCopySourcesOutputVerbosity":"Verbose"}]}Youcanrunthistaskbyrightclickingmain.cppintheSolutionExplorerandselectingBuild.TheOutputwindowwillshowthefilecopyresults.Thereisnooutputfromthiscompilecommand,unlessyouhaveanerror.

Thefieldtypeiswherewecanchangethecontextofthetypetorunontheremotemachine,commandiswhatwillbeexecutedthere.Thecontexttypebuildplacesthiscommandintothatareaofthecontextmenuforthefilethetaskappliesto.ThefieldremoteMachineNameneedstomatchadefinedconnectionintheVisualStudioConnectionManager.YoucanfindthatintheQuickLaunch(Ctrl+Q)bytypingConnectionManager,orunderTools>Options>CrossPlatform>ConnectionManager.NotethatyoucanspecifydifferentdirectoriesforwheretocopyfilesvswheretoruncommandswiththefieldsremoteCopyDirectoyandremoteWorkingDirectory.WhenthefilesarecopiedtheyarecopiedintoafolderofthesamenameasthefolderyouhaveopeninVisualStudioatthelocationspecified.Bydefaultcommandsareexecutedinyourhomedirectoryontheremotesystem.Youcanalsospecifythemethodyouwanttouseforcopying,sftp,rsyncornonetodisable.Thersyncmethodisrecommendedforlargeprojects.TheremoteCopySourcesOutputVerbosityoptionisnotnecessarybutisusefultoknowaboutifyouaretryingtodiagnoseanissue.

Youcandoanythingyoulikewithremotetasksofcourse.Toruntheoutputofourfirstcommandabove,addanothertaskaftertheoneabove.

{"taskName":"Run","appliesTo":"main.cpp","type":"remote","command":"./a.out","remoteMachineName":"localhost","remoteWorkingDirectory":"~/sample/hello","remoteCopySourcesOutputVerbosity":"Verbose"}Thistaskwillshowupas“Run”atthebottomofthecontextmenuwhenyouselectmain.cppintheSolutionExplorer.Whenexecuted,afteryouhavecompiled,youshouldsee“Hello”intheoutputwindow.

Thisisaverysimpleexampleofthisnewfeature.Welookforwardtohearingabouthowyouareusingitinyourprojects.

THE END
1.MLGuruSupreme:机器学习菜鸟的福音来啦!这个Python 库属实让我眼前一亮!写机器学习代码再也不用绞尽脑汁啦。它把那些复杂的算法都打包好了,咱们导入就能用,关键是连调参都帮你搞定。不管你是刚入门的小白,还是搞科研的老手,这个库都能帮你省不少事。 1. 安装超简单 pip install mlgurusupreme https://www.jianshu.com/p/bee48bb44a7f
2.pythonAI源码mob649e815a6b81的技术博客我们将通过一个简单的机器学习示例,使用Python的scikit-learn库来创建一个分类模型,该模型用于识别鸢尾花(Iris flower)的类别。 首先,我们需要安装scikit-learn库,可以通过以下命令进行安装: pipinstallscikit-learn 1. 接下来,我们将编写代码加载数据、训练模型并进行预测。 https://blog.51cto.com/u_16175458/12901267
3.深度学习入门篇(二)从理论到实战:LeNet代码实现与MNIST数据集深度学习入门篇(二) 从理论到实战:LeNet代码实现与MNIST数据集训练(PyTorch) 上篇文章讲解了LeNet的具体细节:深度学习入门篇--来瞻仰卷积神经网络的鼻祖LeNet 这次给大家带来卷积神经网络入门级网络LeNet的代码详解,并一步步的实现,并给同学们总结出pytorch的代码【查看原文】http://aigcdaily.cn/news/b24i7solbfipdcz/
4.Lesson6.1ScikitLearn快速入门如果是首次安装 sklearn,可参考上述代码在命令行中进行安装。 官网还指出,可以通过后面的代码查看 sklearn 的安装情况,其中第一行是查看目前安装的 sklearn 版本以及安装位置,第二行代码是查看安装好的第三方库(在当前虚拟环境下),第三行代码则是查看当前已经安装好的 sklearn 版本。 https://blog.csdn.net/weixin_45891612/article/details/128905266
5.使用X++代码调用.NET库Learn 登录 保存 添加到集合 添加到计划 使用英语阅读 第11 单元(共 13 个单元) 已完成100 XP 2 分钟 Visual Studio 中的财务和运营应用包含 X++ 代码,可与以其他 .NET 语言编写的代码顺利交互。 您可以通过执行以下步骤,从财务和运营应用项目创建对 C# 类库或生成程序集的任何类型的 C# 项目的引用: https://docs.microsoft.com/zh-cn/learn/modules/get-started-xpp-finance-operations/9-dotnet
6.机器学习KMeans聚类分析详解腾讯云开发者社区代码语言:javascript 复制 sklearn.cluster.KMeans(n_clusters=8, init='k-means++', n_init=10, max_iter=300, tol=0.0001, precompute_distances='auto', verbose=0, random_state=None, copy_x=True, n_jobs=None, algorithm='auto') 参数与接口详解见文末附录 例: 代码语言:javascript 复制 >>>https://cloud.tencent.com/developer/article/1838408
7.C++Compass::learnoffsets方法代码示例本文整理汇总了C++中Compass::learn_offsets方法的典型用法代码示例。如果您正苦于以下问题:C++ Compass::learn_offsets方法的具体用法?C++ Compass::learn_offsets怎么用?C++ Compass::learn_offsets使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Compass的用法示例。 https://vimsky.com/examples/detail/cpp-ex---Compass-learn_offsets-method.html
8.c++源代码LearnCandC++ProgrammingThe best site for C and C++ programming. Popular, beginner-friendly C and C++ tutorials to help you become an expert!https://cprogramming.com/
9.LearnC++LearnCPlusPlus.org is a free website designed to help you learn how to program Windows C++ apps. Tutorials, resources, videos, books and more for programmers.https://learncplusplus.org/
10.python中kmeans和kmeans++原理及实现python本文主要介绍了python中k-means和k-means++原理及实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 + 目录 前言 k-means算法是无监督的聚类算法,实现起来较为简单,k-means++可以理解为k-means的增强版,在初始化中心点的方式上比k-meanshttps://www.jb51.net/article/247661.htm
11.C源码,VC源码,VC++源码,Java源码,PHP源码,C++源码,C#源码,Python领先的源码共享下载网站,20万源码免费下载,内容涵盖:网站源码,C,VC,VC++,Java,PHP,C++,C#,Python,ASPX,.NET,JSP,VB,Delphi,JavaScript,行业源码http://www.verysource.com/
12.史上最全wow3.35单机代码命令.docx===%.Learn20573坚韧抵抗昏迷的几率提高15%.Learn20574斧专精+,、魅惑、催眠,+%.%.+++10%.Learnun弓专精++%到30%.Learn20557野兽杀手对野兽的伤害+5%+++10%.+10%.Learn20600感知提高侦测潜行能力,++%,免疫流血、毒药、疾病, 史上最全wow3.35单机代码命令 来自淘豆网www.taodocs.com转载请标明出处. 文档信https://www.taodocs.com/p-211757761.html