由于工作需要经常在虚拟机中编译比较大型的C语言的项目,组内推荐使用SourceInsight配合Samba共享文件夹在windows端查看虚拟机ubuntu中的代码,于是进行简单的使用流程记录。
分为以下几个部分介绍
- SourceInsight的优势、使用方式以及常用的操作
- 如何配置Samba共享文件夹
- 设置虚拟机的网卡以解决虚拟机的IP地址一直变化导致Samba文件夹失效的问题
1 SourceInsight
SourceInsight是一个看似复古的IDE,但是在看一些大型的项目的时候会比较好用,尤其是查看一些函数的从属关系的reference的时候会很好用。
这里可以参考这一篇博客讲解的很详细,这里就不再赘述一些界面介绍了,其中介绍的SourceInsight3.5,笔者用的SourceInsight4.0与他的界面和功能几乎没有差距,只是分辨率提升了。在3.5版本对于4k的分辨图标会不够清晰,看着不够好。
博客园:【工利其器】必会工具之(一)Source Insight篇
该博客主要介绍了SI的简介、创建项目、添加文件、以及其中的界面如何使用的详细介绍,很值得细读。
笔者这里就再记录一些常用的快捷操作,还有对于SourceInsight的一些稍微进阶的设置。
1.1 快捷键记录
| 快捷键 | 作用 |
|---|---|
SHIFT+F8 |
高亮选中的单词(不包括注释中的单词) |
CTRL+G或F5 |
跳到指定行 |
CTRL+鼠标左键 |
直接跳转至标识定义处调用处 |
CTRL+F |
本文件内查找 |
F3 |
本文件查找结果的上一个 |
F4 |
本文件查找结果的下一个 |
CTRL+M |
创建或查找书签,方便下次找回此位置 |
CTRL+O |
搜索文件,找到回车打开,找不到ESC退出 |
ALT + , |
后退 |
ALT + . |
前进 |
ALT + F12 |
可以切换,让字符宽度变得一致,或者是大小不同地显示 |
CTRL+G或者F7 |
打开Symbol Window |
CTRL+' |
智能重命名 |
CTRL+G |
打开Symbol Window |
CTRL+G |
打开Symbol Window |
CTRL+G |
打开Symbol Window |
CTRL+G |
打开Symbol Window |
1.2 SourceInsight进阶设置
- 让{ 和 } 不缩进
Options -> Document Options -> Auto Indenting -> Auto Indent Type 选 Simple。
还有:让{ 和 } 不缩进: options->document options->auto indent 去掉indent Open Brace和Indent Close Brace。 (不好使,括号无法配对对齐!)
- 添加文件类型
用户可以定义自己的类型,Options->Document Options->add type,定义文件类型名以及文件名后缀。
勾选include when adding to projects在添加目录下文件到工程是该类文件就会添加进SI的工程。
如果需要将所有文件添加进SI的工程,可以定义一种文件类型*.*。
- 恢复ctrl+a的全选功能
Options -> Key Assignments:通过关键词save 找到save all,更改为ctrl+shift+a,通过关键词select找到select all,更改为ctrl +a。
- 设置背景色
Options->preference->color->windows background设置背景色(护眼色:85,90,205)。
- 解决TAB键缩进问题
Options-> Document Options里面的右下角Editing Options栏里,把Expand tabs勾起来,然后确定。OK,现在TAB键的缩进和四个空格的缩进在SIS里面看起来就对齐。
Linux下TAB是8个空格长度,这样设置可以让TAB和4个空格保持一致!)
2 Samba共享文件夹设置
虽然SourceInsight很好用,但是在很多项目都在虚拟机里面编译,这时候该如何看到其中的代码呢。此时就可以设置Samba共享文件夹来在windows上打开虚拟机Linux下的共享文件。
以下是在Ubuntu上配置Samba共享文件夹给Windows使用的详细配置教程:
2.1 前提条件
- 确保Ubuntu和Windows在同一局域网内,或者通过网线直接连接。
- Ubuntu系统已安装并更新到最新版本。
2.2 安装Samba
- 打开Ubuntu的终端。
- 更新软件包列表:
1 | sudo apt-get update |
- 安装Samba及其相关组件:
1 | sudo apt-get install samba samba-common -y |
2.3 配置Samba
- 创建或选择一个要共享的文件夹,并设置其权限。例如,假设要共享的文件夹路径为
/home/ubuntu/shared,则设置权限为:
1 | sudo chmod 777 /home/ubuntu/shared |
或者,使用更安全的权限设置,仅允许特定用户读写:
1 | sudo chown your_username:your_groupname /home/ubuntu/shared |
其中,your_username和your_groupname分别替换为你的Ubuntu用户名和组名。
- 添加一个Samba用户(如果需要的话)。如果已有一个Ubuntu用户,可以直接为其设置Samba密码:
1 | sudo smbpasswd -a your_username |
按照提示输入并确认Samba密码。
- 编辑Samba配置文件
/etc/samba/smb.conf。在文件末尾添加一个新的共享配置段,例如:
1 | [shared] |
如果希望限制访问权限,可以添加valid users选项并指定Samba用户名:
1 | [shared] |
- 保存并关闭配置文件。
2.4 重启Samba服务
- 重启Samba服务以使配置生效:
1 | sudo systemctl restart smbd |
或者,使用旧的服务管理命令(在某些Ubuntu版本中可能仍有效):
1 | sudo service smbd restart |
2.5 在Windows上访问共享文件夹
- 打开Windows资源管理器(文件资源管理器)。
- 在地址栏中输入Ubuntu的IP地址和共享文件夹名称,格式为:
\\ubuntu_ip_address\shared。例如,如果Ubuntu的IP地址是192.168.1.100,则输入:\\192.168.1.100\shared。 - 如果设置了Samba用户和密码,将提示输入这些凭据以访问共享文件夹。
2.6 获取Ubuntu的IP地址
在Ubuntu终端中输入以下命令以获取IP地址:
1 | ifconfig |
查找与网络连接相对应的条目(例如eth0、wlan0等),并找到inet后面的IP地址,比如为192.168.1.100。
注意事项
- 确保防火墙设置允许Samba通信(通常使用TCP端口137、138、139和445)。
- 如果在Windows上遇到访问问题,请检查Samba配置文件中的权限设置和共享名称是否正确。
- 对于更复杂的共享需求(如多个共享文件夹、访问控制列表等),可以进一步编辑
/etc/samba/smb.conf文件并添加相应的配置段。
通过以上步骤,应该就可以在Ubuntu上成功配置Samba共享文件夹,并在Windows上访问它。在资源管理器中看到共享文件夹可以通过右键->映射到磁盘,这样以后在windows上就能够更方便的打开共享文件夹来
3 虚拟机网卡设置
在使用以上的Source Insight+Samba的方案进行开发中,笔者经常会遇到一个问题就是虚拟机的ip会经常变化,这是因为在虚拟机中使用的是NAT模式,这样就会经常变化ip地址。需要修改其为自定义模式。
感谢看到这里,在记录中收获成长,道阻且长