Visual Assist X 安装使用、visual studio 进行 Linux 远程开发

Visual Assist 快捷键大全:https://blog.csdn.net/dddd0216/article/details/80082885
Visual Assist X安装与基本使用:https://blog.csdn.net/fengqy000/article/details/79249181

https://www.cnblogs.com/i1tao/p/17891402.html

https://winsec.cn/

Visual Assist 10.9.2511 x64 ( 仅支持 vs2022 ):https://www.winsec.cn/archives/visual-assist-cracked-version10-9-2511-x64/

vax 汉化:https://www.cnblogs.com/gshang/p/16388142.html

1、Visual Assist X

简  介

Visual Assist X 是一款 Microsoft Visual Studio 扩展工具,能够帮助填补 Microsoft Visual Studio 在撰写 C/C++ 和 C# 程序之不足并提升其效率。

  • 导航:可以将代码轻松移动到项目和解决方案中的任何文件、方法、符号或引用。 从任意位置导航到任意位置。
  • 重构 (Refactoring):降低代码的复杂度,提高代码的可读性,并且在不改变外部行为的前提下对代码进行重构。 重构遗留代码、继承代码或您自己编写的第一个版本。
  • 代码生成 (Code Generation):生成代码的速度超乎想象——即使只使用 Visual Assist 的部分功能。 当您熟练掌握操作流程时,编写和更新代码的速度会更快。
  • 编码辅助 (Coding Assistance):在不妨碍您的前提下,协助您更快地编写代码,尤其在您工作状态良好时。 Visual Assist 可以提醒并自动修正严重的输入错误。
  • 代码理解 (Code Understanding):利用各种工具窗口、浏览器和字段来理解复杂的代码或很久没有接触过的代码,这些工具窗口、浏览器和字段可以随时提供您所需要的信息。
  • 代码更正 (Code Correction):请注意,Visual Assist 会在您出错时更正错误,特别是符号和指针表示错误。 完全用小写字母输入,并注意观察 Visual Assist 更正所有符号的大小写。 可保存自定义的切换键。
  • 代码审查 (Code Inspection):在编辑代码时检查代码是否存在质量问题。 Visual Assist 的 Code Inspection(代码审查)功能基于LLVM/Clang,用于诊断和修正典型的编程错误,如样式冲突、接口误用以及可以通过静态分析推断出的错误。
  • 代码片段 (Code Snippets):使用 IDE 中具有相同功能的更强大版本扩展频繁键入的代码片段。 包括来自当前上下文的符号,提示用户输入,以及在自定义编辑器中编辑代码片段。
  • 调试协助 (Debug Assistance):使用 Visual Assist 附带的 VA Memory View(VA 内存视图)和 VA Step Filter(VA 步骤筛选器)来缩短调试本地 C/C++ 所需的时间。
  • 工具窗口 (Tool Windows):在 30,000 英尺的高度查看代码,并重新整理代码,使其更容易理解和维护。 Visual Assist 中的工具窗口为 IDE 提供了全新的功能,并将常用的内置功能整合到更高效的工具窗口中。
  • 源链接 (Source Links):将注释子字符串连接到外部应用程序和网站,如 bug 追踪器、案例管理器、文档以及源代码控制系统。

常用功能:

  • 智能提示:关键字的提示,已有类名、方法名的提示,类成员(成员数据和成员函数)的提示;
  • 代码高亮:关键字、类名、方法名等用不同的颜色进行高亮,方便代码的阅读;
  • 快速追踪:声明与实现的快速跳转,.cpp与.h文件的快速切换;
  • 高效查找:文件名的查找,标识符的查找,标识符补引用的查找;
  • 代码重构:重命名标识符(变量名、方法名、类名等,这个非常有用),自动添加成员变量的Set/Get方法,自动添加函数的注释等。

更多介绍,请访问官网:https://www.wholetomato.com/

Visual Assist 与 Microsoft Visual Studio 对比:https://www.wholetomato.com/purchase/compareToVs

安  装

  • 1、保持 VS 处于关闭状态。
  • 2、如果以前安装过其它版本的 Visual Assist X,先卸载,并清理注册表相关键值。
  • 3、下载 Visual Assist X ( https://www.wholetomato.com/downloads ) ,按默认选项安装。 大佬博客:https://winsec.cn/   VA 10.9.2511 x64 ( 仅支持 vs2022 )https://www.winsec.cn/archives/visual-assist-cracked-version10-9-2511-x64/  。
  • 4、将 oledlg.dll 复制到 VS 主程序 ( devenv.exe ) 所在的目录 ( C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE ) 。如果找不到可以使用 everything 搜索。
  • 5、启动 VS,进入 VAX 的配置项,复制下面的 key 完成注册:
    Jocker_Go_Die!_Cracked_By_i1tao (1-user license) Support ends 2029.1.1
    00001V-J69XVM-7GYKX6-EJDXQC-KNC8N2-F6AG9E-W6241G-XYCATJ-JH67MH-GRBE46-D4AQTH

安装完成之后,菜单栏工具栏 变化:菜单栏  --->  扩展  --->  VAssistX 

Visual Assist X 主界面:

工具栏

使  用

当不知道某个功能怎么使用时,查看官网文档

10 大功能:https://www.wholetomato.com/learn/top10

  • 打开任意文件 (Shift+Alt+O)
  • 查找任意符号 (Shift+Alt+S)
  • 跳转到任意行 (Alt+G)
  • 跳转到任意相关标签 (Shift+Alt+G)
  • 打开相应文件 (Alt+O)
  • 查找引用 (Shift+Alt+F)
  • 快速操作和重构菜单 (Shift+Alt+Q)
  • 列出文件方法 (Alt+M)
  • 重命名 (Shift+Alt+R)
  • 使用 VA 标签

在 VS 代码编辑中使用 VA

代码生成和重构

使用说明

  • 1. add include:添加头文件,当编译后提示“未定义类型”时直接右键类型名,refactor ---> add include。
  • 2. create implementation添加实现,当在头文件中声明好方法后,想到 cpp 里写实现,直接贴过去,是可以但还是要做部分修改。同样是右键该方法,refactor ---> create implementation。
  • 3. create declaration添加声明,create implementation 的逆过程,如果你习惯先写实现再声明的话,用这个很方便。
  • 4. document method:方法说明,用这个可以在方法上面写上该方法的作用域,参数,返回值等主要信息,一目了然
  • 5. move implementation to source file:移动实现到头文件。把不该内联的复杂函数实现写到头文件里了?没关系,直接refactor ---> cmove implementation to source file自动移动到cpp文件中
  • 6. rename:重命名,发现自己之前写的代码命名(变量名,函数名,包括类名)不规范,又不想一个个改?refactor ---> rename自动把所有相关的部分改过来,包括注释(可选)。
  • 7. encapsulate field:变量封装,写了个 private 的成员变量,发现外面要用到,直接就移到public里面来?太容易妥协了吧,也不满足C++封装的原则。同样 : 右键 ---> refactor---> encapsulate field 。set,get 一次搞定
  • 8. change signature:改变签名,rename 的加强版,如果不只是名字改了,返回值类型甚至参数表都改了,怎么办,重写?不用,va 的 change signature 照样可以一次性解决。

tools 工具

快捷键

官网 快捷键

官网 快捷键 文档:https://www.wholetomato.com/learn/keyboardShortcuts

功能快捷键说明
从用途创建Shift+Alt+C使用未知符号创建一个目标。 
查找引用Shift+Alt+F打开当前符号的引用列表。 
查找选定项Alt+K高亮显示插入符号下的单词实例,和运行 Find(查找)(Ctrl+F)一样。 
在解决方案中查找符号Shift+Alt+S打开解决方案中所有符号的列表。 
跳转到执行Alt+G跳转到当前符号的声明或执行。 如果存在多个目标位置,则打开一个菜单。 
跳转到相关标签Shift+Alt+G跳转到与当前符号相关的位置。 
列出方法Alt+M查看当前文件中所有类和方法的列表。 
向后导航Alt+左箭头在代码中导航到以前访问过的位置。 
向前导航Alt+右箭头在代码中导航到下一个访问过的位置。 
打开相应文件Alt+O在相关文件的对或 n 元组之间快速切换。 如果存在多个相关文件,则打开一个菜单。 
打开解决方案文件Shift+Alt+O使用对话框快速查找并打开解决方案中的任意文件。 
打开 Quick Action(快速操作)和 Refactoring(重构)菜单Shift+Alt+Q打开快捷修复、代码生成命令、查找引用命令和当前位置或符号重构的菜单。 
粘贴Ctrl+Shift+V在传统的粘贴菜单中查看多个剪贴板。 
重命名Shift+Alt+R重命名符号的定义和声明、符号的所有引用以及注释和字符串中的引用(可选)。 
重置编辑器缩放Ctrl+0将文本编辑器的缩放级别重置为 100%。 
移到下一个作用域Alt+下箭头移动到下一个最外层作用域。 当处于全局作用域时,移动到相邻作用域。 
移到上一个作用域Alt+上箭头移动到上一个最外层作用域。 当处于全局作用域时,移动到相邻作用域。 
智能选择扩展Shift+Alt+]对小块进行初始选择,或以较小的增量扩大选区。 
智能选择扩展块Alt+]对大块进行初始选择,或以较大的增量扩大选区。 
智能选择收缩Shift+Alt+[对小块进行初始选择,或以较小的增量缩小选区。 
智能选择收缩块Alt+[对大块进行初始选择,或以较大的增量缩小选区。 
VA 标签Shift+Alt+H打开一个包含解决方案中所有 VA Hashtags(VA 标签)的工具窗口。 

访问文档 获取可绑定的命令的完整列表。

快捷键整理

跳转
        Alt + G           函数 定义 和 声明 的 相互跳转。
        F12               跳转到所调用函数或变量的定义处
        Alt + O           在.h与.cpp文件中实现相互转换。.h与.cpp文件的快速切换
        Alt + M           列出当前文件所有的函数。输入函数名的一部分,查看某个函数
        Ctrl + Tab        切换标签
        Alt + ↑           跳转到上一个类或函数
        Alt + ↓           跳转到下一个类或函数
        Ctrl + F3         选中一个单词时,跳到下个单词(F3下一个,shift + F3 上一个)
        Ctrl + F2         某行加书签 再按一次测去掉书签
        F2                跳到一个书签,再按一下测跳到下一个书签
        Shift +F2         跳到上一个书签
        Ctrl + Home       跳到文档最前面
        Ctrl + End        跳到文档最后面
        Home              跳到一行最前面
        End               跳到一行最后面
        
        Ctrl + ->            跳到一个单词最后
        Ctrl + <-            跳到一个单词最前
        Ctrl + Shift + ->    选择光标后的一个单词
        Ctrl + Shift + <-    选择光标前的一个单词
        Shift + ->           选择后的一个字母,每按一次增先一个字母
        Shift + <-           选择前的一个字母,每按一次增先一个字母
        
        Alt + <- 退回到上一视图
        Alt + -> 前进到下一视图 (这个快捷键是自定义的)
        Ctrl + } 如当时光标在"{" 处则跳到配对的 "}"。如在光标在"}" 处则跳到配对的 "{"。


调试运行    
        F9                   设置/删除 断点
        Ctrl + Shift + F9    删除所有断点
        F5                   启动调试
        Shift + F5           停止调试
        Ctrl + F5            运行程序,注意不是调试
        F10                  单步调试。逐过程
        F11                  单步进入某个函数调试。逐语句
        Shift + F11          从某个函数跳出        

查找          
        Ctrl + F            查找
        Ctrl + Shift + F    在文件中查找关键字,当前工程,当前文档,打开的文档,自定义等        
        F3                  查找下一个
        Shift + F3          查找上一个
        Alt + Shift + O     查找文件。打开文件名搜索对话框。O指open,打开指定的文件
        Alt + Shift + S     查找符号。FindSynbolDialog 打开查找符号对话框。S指Symbol
        Alt + Shift + F     查找所有引用。Find References 
        Alt + Shift + R     重命名标识符。光标要在标识符处,R指ReName
                            改掉一个类名或是其他东西的命名时,引用的地方同时被改成新的名字。
        Ctrl + I输入,增量搜索(实时查找)
           
替换    
        Ctrl + H           替换
        Ctrl + Shift + H   在文件中替换
        Alt + F12          查找符号(列出所有查找结果)
        Alt + Shift + R    选定内容改名,用得不多,但很实用(改过名的都知道)
        
代码操作    
        Ctrl + / 加注释(这个快捷键是自定义的)
        Ctrl + K + C        注释
        Ctrl + K + U        取消注释
        Ctrl + Shift + ]    选择匹配的括号与其中的代码
        Ctrl + Shift + U    转换为大写
        Ctrl + U            转换为小写
        Ctrl + K + D        设置文档格式
        Tab                 增加缩进
        Shift + Tab         减少缩进
        Ctrl + M + M        折叠代码,将光标放在#region、if、方法头的位置,将会折叠它们
        Ctrl + Shift + 空格当光标在函数参数时,则提示函数参数列表
        Ctrl + B 加条件断点
        Ctrl + L 删除一行
        
        Shift + F9// 快速查看变量
        Alt + 3// 查看变量
        Alt + 7// 查看堆栈
        Alt + 6// 查看内存

项目的操作    
        Alt + Enter         打开选定项的属性对话框
        Ctrl + Shift + N    新建项目
        Alt + Shift + N     新建网站
        Ctrl + N            新建文件
        Ctrl + Shift + O    打开项目
        Alt + Shift + O     打开网站
        Ctrl + O            打开文件

视图调用    
        F4                属性
        Ctrl + Alt + X    工具箱
        Ctrl + Alt + L    解决方案资源管理器
        Ctrl + Alt + S    服务器资源管理器

自定义 快捷键

Visual Assist X自定义快捷键 方法如下:

1. Visual Studio 的  “工具”→”选项” 。

2. 在 "显示命令包含:" 中输入 "vassistx." 就可以看到所有可以设置的快捷键了 

3. 可以继续输入 "vassistx.refactorcr" 就出现了 "Create Implementation" , 选中 " VAssistX.RefactorCreateImplementation " 

在  "按快捷键"  的编辑框里点一下,出现闪烁的光标,这时候在键盘上按你想要的快捷键即可,如Ctrl+Alt+C ,图中显示这个快捷键已经在  "全局"  范围里分配给了  "调试.调用堆栈"  了, 当然你也可以换一个其它没有用过的快捷键,不过我觉得这个挺好,而且 VS 可以设置快捷键的有效范围,我设置在  "文本编辑器"  中就好了,那里我不需要调用 Debug 功能。 如图,在  "新快捷键用于"  中选择  "文本编辑器"   

4. 点击  "分配" ,再点击  "确定"  ,这时候,这个快捷键就生效了。

查看 快捷键 说明

当不知道某个快捷键是什么意思时,通过下面方法查看快捷键是否存在,以及快捷键的解释说明

或者 通过 VAssistX 帮助

2、使用 visual studio 连接 Linux 远程开发

关键字:vs 远程编译

使用vs2019进行Linux远程开发:https://www.cnblogs.com/apocelipes/p/10899484.html

Visual Studio的跨平台开发功能简介

从visual studio 2017开始微软推出了vs的跨平台开发功能,可以在vs中编辑代码,随后进行跨平台编译和远程调试,将原先我们需要手动完成的工作进行了自动化,大幅减轻了我们的负担。其中支持的平台包括 Android 和 Linux。

vs 远程开发分为两步:

  1. 创建远程环境的连接,随后让vs将远程环境中的系统头文件同步到本地(也可以指定其他地方的头文件,后面会讲解),c++的代码补全只需要头文件即可。
  2. 当代码写好后,选择合适的远程环境,vs 将目标文件和代码复制到远程环境的指定位置,接着根据你的配置进行编译。
  3. 随后 vs 将会在 console 的 gdb 或 gdbserver 中运行你的程序,在此期间你可以充分享受 vs debugger 带来的高效和便利。

经过上述步骤之后你就可以在vs里调试自己编写的跨平台程序了。

使用vs2019进行Linux远程开发

简介到此结束了,下面我们来看看在vs2019进行Linux开发的图文教程。在我们开始之前,首先要做点准备工作:

  1. 安装好vs2019,且勾选了c++ for Linux功能;
  2. 准备一个可用的Linux远程环境,例如配置了静态IP的Linux虚拟机,并且已经安装好了GCC工具链以及openssh。

做好准备后我们就该进入正题了。

创建项目

安装好c++ for Linux功能后我们会在创建新项目的面板中看到Linux的选项,如图:

这里我们选择了使用传统的vs项目解决方案构建的空白控制台程序,后续的文章中你还可以看到如何创建cmake项目,这里暂且不提。

下面没什么要说的,选择项目的存储位置,注意是本地的位置,远程机器的位置在后面会进行配置:

点击创建,我们的远程开发项目就创建成功了。

添加远程环境

Visual studio 2022配置远程 Linux 项目:https://blog.csdn.net/qq_15054345/article/details/125368426

新建好远程项目之后,远程linux服务器需要安装一些工具,命令如下(参考https://docs.microsoft.com/zh-cn/cpp/build/get-started-linux-cmake?view=msvc-170):

sudo apt install -y openssh-server build-essential gdb rsync make zip g++

只有添加远程环境才能同步 远程Linux环境上的头文件或者进行调试运行。

VS 菜单栏 ---> 工具 ---> 选项 ---> 跨平台 ---> 连接管理器

填入远程 ip/域名,端口ssh默认为22,安全起见也可以修改成其他端口,密码也可以考虑使用更安全的ssh私钥登录。登录成功后这个连接就添加完成了,

管理器下面还有一个远程标头管理器的设置项,这就是用来同步头文件的:

点击更新按钮就会开始同步头文件,这些文件会被缓存在本地,因为要从远程一次性复制大量文件,所以可能会花费较长的时间。这样远程环境就添加好了

项目 属性 配置

点击 "项目 -> 属性" 查看 项目 属性 :

远程计算机是在调试中的远程连接管理器中添加的。这里一般不需要改动,除非你需要改变项目的类型或编译结果的存放位置。如果有多个远程环境时,也可以在这里进行选择。

调试部分提供了gdbgdbserver,前者是让vs在Linux上启动一个console,然后在其中运行gdb并返回输出,如果你的Linux上的终端配置了彩色输出,那么很遗憾vs并不认识他们,会显示成原始的字符串;使用gdbserver时会在远程启用gdbserver,本地vs解析回传的数据不会出现杂音。这里我们选择了gdbserver,如果你发现无法打断点,那么参考微软的建议,换回gdb方案:

接着是配置的重点,首先是配置需要同步的远程环境的头文件,有了这些文件vs才能对你的代码进行自动补全和提示:

默认复制的路径通常已经包含了Linux上大部分的头文件,通常我们也不需要做更改。头文件的同步发生在第一次构建项目成功后或添加远程连接后手动同步。

接着是c/c++编译器的选择,也就是对 gcc 和 g++ 编译参数的配置。这里只需要选择合适的c++标准版本:

这里我们选择了c++17。其他设置与在Windows上进行开发时一样,vs可以自动转换成g++的参数,这里就不再赘述。 

本地编写和远程调试

至此你已经可以在vs中编写面向Linux平台的代码了,自动补全可以正常工作:

可以看到Linux中的头文件和结构体都已经可以识别了。如果你发现无法自动补全(通常发生在刚添加远程连接或是项目设置发生了变化后),先试试关闭vs重新打开,如果没用请尝试刷新intellisense或重新同步头文件。

在编辑结束后我们就能点击调试按钮运行我们的程序了:

注意,构建的体系架构必须是和远程环境一致的,比如远程环境是x64,这里可以选择x64或x86,但是不能选择arm,否则会报错。

这是测试代码,它将输出当前Linux系统内核的版本:

#include <sys/utsname.h>
#include <iostream>
#include <cstdio>
 
int main()
{
	auto start = chrono::high_resolution_clock::now();
	utsname names;
	if (uname(&names) != 0) {
		std::perror("cannot get unames");
	}
 
	std::cout << "Linux kernel version: " << names.release << std::endl;
}

点击调试->Linux 控制台,会显示一个可以交互的console,你可以在其中输入内容或是看到程序的输出:

 程序运行成功。

避免踩坑

远程编译顺利完成后,我们就可以接着利用vs debugger设置断点,在断点处查看变量,甚至对运行中的Linux进行动态性能分析了。

不过在此之前,还有一些坑需要提前踩掉。

中文乱码

编码问题带来的麻烦永远会被放在第一位,毕竟当人们看到预想的输出实际上是一堆乱码时总会不可避免得紧张起来。

众所周知,编码问题一直是老大难,特别是Windows上中文环境通常是GB18030或GBK,而Linux上统一为utf8时。

下面看个实际例子,通常我们的程序里只包含ASCII字符的话不容易产生问题,所以我们加上一点中文字符:

#include <sys/utsname.h>
#include <iostream>
#include <cstdio>
#include <string>
 
int main()
{
	utsname names;
	if (uname(&names) != 0) {
		std::perror("cannot get unames");
	}
 
	std::cout << "Linux kernel version: " << names.release << std::endl;
	std::cout << "输入内容:";
	std::string input;
	std::cin >> input;
	std::cout << "你输入了:" << input << std::endl;
}

对于上面的测试程序,我们添加了一点中文输出信息,现在打开控制台进行调试:

可以看到中文输出变成了乱码,我们输入一些信息进去,这是运行结果:

可以看到,程序内写入的中文发生了乱码,而我们的输入没有。原因很简单,输入时实在linux的控制台环境下,编码默认是utf8的,所以我们的输入被正确编码,而源文件中的内容是GB18030的,所以在Linux控制台(默认以utf8解码数据并显示)中会发生乱码。

错误的原因知道了解决起来也就很简单了,把源文件的编码改成utf8就行,我们选择最简单的方法,在高级保存选项中修改编码(这个菜单选项默认被隐藏,网上有很多介绍如何显示它的方法的资料):

 

 设置好后保存文件,现在文件的编码已经被改为了utf8了。

现在运行修改后的程序:

运行结果也是正常的:

使用数学函数和第三方库

在Linux上使用标准库提供的数学函数也是一个老生常谈的问题,根据你使用cpp还是c会有如下几个情况:

  1. 使用cpp时,libstdc++依赖于libm,所以使用g++编译你的程序时会自动链接数学函数库;
  2. 使用c时,如果是sqrt(4)这样的形式,较新的gcc提供了替换措施,不需要显示链接libm;
  3. 接上一条,如果你的参数是个变量,那么编译器可能会选择需要你链接libm。

通常在Windows上我们无需操心这点,但在Linux上使用c语言时就很难忽略这个问题了。

因此保险起见,如果你正在编写一个使用了数学函数的c程序,那么总是指定连接libm是没错的。(具体可以参考这里

另外当你使用例如boost这类第三方库时,也需要注意。在Windows上我们通常指定好附加包含目录和附加库目录即可正常编译,但是Linux上必须明确指定链接库的名字,因此我们在项目属性中进行设置。

在Linux上我们可以使用pkg-config来减轻上述的重复劳动,而在vs中我们不能直接利用这一工具,当你的项目使用了大量第三方库时就会成为不小的麻烦,如果想要解决这一问题,可以参考后续文章里我会介绍的vs+cmake构建项目。

下面我们给例子加上一点boost chrono的功能测试,在Linux上需要指定-lboost_chrono,这是设置:

下面是完整的代码:

#include <sys/utsname.h>
#include <iostream>
#include <cstdio>
#include <string>
#include <boost/chrono.hpp>
 
int main()
{
	namespace chrono = boost::chrono;
	auto start = chrono::high_resolution_clock::now();
	utsname names;
	if (uname(&names) != 0) {
		std::perror("cannot get unames");
	}
 
	std::cout << "Linux kernel version: " << names.release << std::endl;
	std::cout << "输入内容:";
	std::string input;
	std::cin >> input;
	std::cout << "你输入了:" << input << std::endl;
	auto counter = chrono::duration_cast<chrono::milliseconds>(chrono::high_resolution_clock::now() - start);
	std::cout << "程序运行了:" << counter.count() << "ms\n";
}

点击运行按钮,程序就能正常调试了,否则会报错:

VS 新建真实文件夹,而不是虚拟文件夹

方法 1:在 "可用视图" 添加文件夹,切换到 "解决方案"  添加

VS 默认是打开 解决方案,这树形结构显示不是按照 物理结构 (即所见即所得) 显示的,

如果想要按照 物理结构显示目录,需要先切换到 "可用视图",再新建 "文件夹、文件"。

  • 点击 "文件夹视图" 进入真实目录结构视图
  • 点击 sln 文件是进入 "解决方案" 视图

这里点击 "文件夹视图" ,新建 test 文件夹和 test.cpp 文件

再切换到 "解决方案" 视图,点击显示所有文件 

选中需要 包含的文件夹和文件 ---> 右键 包含在项目中,即可在解决方案中看到对应的目录和文件

方法 2: 通过 VS 插件 实现

VisualStudio 如何在解决方案里添加真实的文件夹而不是虚的解决方案文件夹:https://www.cnblogs.com/Kit-L/p/13888534.html

vs 插件:https://marketplace.visualstudio.com/items?itemName=CeciliaWiren-CeciliaSHARP.FolderToSolutionFolder&ssr=false#overview
它的功能如下 gif 图所示:

下载安装插件,安装完成后,把 项目中的 src 和 test 删掉,只留下一个Demo.sln空解决方案。像下面这样:

双击打开这个解决方案,是这样:

把这个Demo也右键移除掉。右击解决方案 ---> 添加,发现有这么一项:

点击这一项,找到我们解决方案所在的目录,右键新建一个src文件夹,选中这个我们刚建好的src文件夹,点击下方“确定”按钮:

效果:

完美,现在windows资源管理器里也有src文件夹,Demo.sln这个解决方案里也有src文件夹,实现了我们的需求。

visual studio 添加源码目录 ( 通过文件夹来添加源码 )

1.把源码目录拷贝到工程目录下

2.这时在vs的目录列表里是看不到这个目录的,在如下图工具栏中点击图标【显示所有文件】,就可以看到新增的目录了

3.这时实际上还没有真正地加入到工程中来,可见.h文件的图标是红色的,要在工程目录上右键选择【包括在项目中】即可:

4.添加完毕,.h文件前面的图标正常了。

设置 字体

菜单栏 ---> 工具  ---> 选项 ---> 环境 ---> 字体和颜色

推荐字体

一般适合用作程序代码显示的字体,有下列几个:

  • JetBrains Mono:JetBrains Mono 是 JetBrains 公司专门为开发者打造的编程字体 —— 甚至有 "最漂亮的编程字体" 之称。JetBrains Mono 提供了 Thin、ExtraLight、Light、Regular、Medium、SemiBold、Bold 和 ExtraBold 共 8 种字体粗细,包含英文数字字符和西文字体,支持 147 种语言,但不包含中文,默认情况下中文会显示为系统的默认中文字体。
            :https://www.123pan.com/s/pXIrVv-oo653.html
            :https://github.com/JetBrains/JetBrainsMono
            :https://www.jetbrains.com/lp/mono/
  • Cascadia Code:微软打造的一款等宽编程字体。是Windows终端和Visual Studio的默认字体。它包括默认、单声道(无连字)、斜体和草书字体,并且还额外支持嵌入电力线符号。
  • Courier New 9pt:经典字体。它是等宽字体,对编程而言每个字符区分的十分清楚,方便查找程序中的输入错误。在Windows环境底下,一般都会使用Courier New或其他近似的等宽字体来显示程序代码。
  • Consolas 是一种专门为编程人员设计的字体,这一字体的特性是所有字符都具有相同的宽度,让编程人员看着更舒服
  • Inconsolata:可以作为微软的 Consolas 字体的开源替代。它是一种用于显示代码、终端等使用场景的等宽字体。它提供了连字符,能够给用户出色的编码体验。地址:https://github.com/googlefonts/Inconsolata
  • Lucida Console :等宽字体。可读性也不错,但是 vs.net 显示出来有锯齿
  • Menlo:是一个无衬线等宽字体,由Jim Lyles设计,Menlo是基于开源字体Bitstream Vera与自由版权字体DejaVu字体改良而来。
  • Monolisa:Monolisa 是一种独特的字体,它遵循等宽标准以减少疲劳。地址:https://www.monolisa.dev/
  • Source Code Pro:Source Code Pro 是 Adobe 打造的等宽编程字体,非常适合用于编程场景,支持 Linux、macOS 和 Windows 等操作系统,提供了 ExtraLight、Light、Regular、Medium、Semibold、Bold 和 Black 共 7 种字体粗细。:https://github.com/adobe-fonts/source-code-pro
  • Google Noto Fonts:Google 开发一种名为 Noto 的字体家族,其目的是通过和谐的外观来支持所有语言。
  • Fira Code:FiraCode ,一款真正符合甚至超越了其职责的编程字体。FiraCode 是 Fira 的扩展,而后者是由 Mozilla 委托设计的开源字体族。地址:https://github.com/tonsky/FiraCode
  • (宋体,新宋体等不在讨论之列)

美 化

Visual Studio 2022界面美化教程:https://blog.csdn.net/qq_62414126/article/details/121863518

https://zhuanlan.zhihu.com/p/670036395

用以下插件进行美化

  • ClaudialDE:可以更换背景图片的插件
  • CodeMaid:用于代码格式化
  • Visual Studio 2022 Dark Transparency Theme:实现背景图片全覆盖,当然如果只是想覆盖编辑器部分也可以选择安装其它主题

字体 推荐 JetBrainsMono ,下载完成后打开 fonts 下的 ttf 目录,全选,然后,右键安装

Python 开发

  • 菜单栏 ---> 视图 ---> 其他窗口 ---> Python 环境,可以选择 Python 解释器。
  • 菜单栏 ---> 工具---> Python 环境。
  • 或者 如图:

  • 55
    点赞
  • 343
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值