VS保存后Unity不刷新
Posted 青衫磊落长歌行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS保存后Unity不刷新相关的知识,希望对你有一定的参考价值。
目录
问题:Visual Studio写完代码保存好,Unity不会重新编译
哈喽大家好,今儿Xiaohei.Wang(Wenhao)记录个坑吧。反反复复查问题,卸插件再安装,耗我了俩小时。
问题:Visual Studio写完代码保存好,Unity不会重新编译
那如何解决呢?让我来告诉你们。
三种解决方案
1、先选为默认、重启Unity、更改为想要的代码编写软件。
地址:Edit > Preferences > External Tools > External Script Editor
2、查看Auto Refresh是否开启
地址:Edit > Preferences > General > Auto Refresh
3、 更改Visual Studio下刷新Unity设置
地址:
Visual Studio > Tools > Options > Tools for Unity > Refresh Unity's AssetDatabase
VS编辑器 > 工具> 首选项 > 适用于Unity的工具 > 在保存时刷新Unity的数据资产
今日分享完成
希望大家:点赞,留言,关注咯~
😘😘😘😘
唠家常
- Xiaohei.Wang(Wenhao)的今日分享结束啦,小伙伴们你们get到了么,你们有没有更好的办法呢,可以评论区留言分享,也可以加Xiaohei.Wang(Wenhao)的QQ:841298494,大家一起进步
今日无推荐
- 客官,看完get之后记得点赞哟!
- 小伙伴你还想要别的知识?好的呀,分享给你们😄
- 小黑的杂货铺,想要什么都有,客官不进来喝杯茶么?
编辑后不刷新 ALV。为啥?
【中文标题】编辑后不刷新 ALV。为啥?【英文标题】:ALV is not refreshed after edit. Why?编辑后不刷新 ALV。为什么? 【发布时间】:2015-05-06 07:16:13 【问题描述】:我知道我的问题已经被问过一百次了。 但我仍然找不到适合我的解决方案
-
我有一个下拉列表,每次我更改下拉列表中的数据时,它都会根据下拉列表数据加载新数据
从第一步开始,我刷新可编辑的 ALV
将保存可编辑 ALV 中的任何更改(另一种保存操作)
我的问题是,保存后,我无法刷新我的 ALV。
但如果我没有按保存按钮也没有问题
注意: 在SAP forum,他们告诉我把刷新功能移到PBO,我试过了,但还是失败了。
附加代码是第1步是这个代码中的“当SET_P”
公益组织
MODULE pbo_1000 OUTPUT.
IF flag = 0.
SET PF-STATUS '1000'.
SET TITLEBAR '1000'.
PERFORM create_toolbar.
PERFORM create_catalog.
PERFORM select_data.
CREATE OBJECT ob_custom
EXPORTING
container_name = 'CCTRL'.
CREATE OBJECT ob_grid
EXPORTING
i_parent = ob_custom
i_appl_events = 'X'.
PERFORM create_dropbox.
CALL METHOD ob_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'TYPE'
it_toolbar_excluding = lt_toolbar
is_layout = lyt
CHANGING
it_fieldcatalog = fld[]
it_outtab = itab[].
CALL METHOD ob_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 1.
CALL METHOD ob_grid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_enter.
ENDIF.
ENDMODULE.
PAI
MODULE user_command_1000 INPUT .
DATA: v_perio(6) TYPE c.
CASE sy-ucomm.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
PERFORM save_data.
PERFORM send_email.
WHEN 'SET_S'.
flag = 1.
PERFORM set_status.
CALL METHOD ob_grid->refresh_table_display
EXPORTING
is_stable = stbl.
WHEN 'SET_P'.
flag = 1.
PERFORM select_data.
CALL METHOD ob_grid->refresh_table_display
EXPORTING
is_stable = stbl.
ENDCASE.
ENDMODULE.
【问题讨论】:
【参考方案1】:我猜您将需要在 PAI 中作为第一件事调用的 CHECK_CHANGED_DATA 方法,它会触发事件 DATA_CHANGED 和 DATA_CHANGED_FINISHED。
但最重要的是,它将 OLE 对象与实例后端同步,然后当您调用 REFRESH_TABLE_DISPLAY 时,它会正确刷新您的 ALV。目前我没有任何示例,但我可以在下周访问系统时尝试。
顺便说一句,在 PBO 中,您不需要变量 flag,您可以使用检查 ALV 对象是否已经初始化,并据此创建/刷新 alv。像这样的:
if alvGridRef is NOT bound .
data(container) = new cl_gui_custom_container( ) .
data(alvGridRef) = new cl_gui_alv_grid( ) .
else .
alvGridRef->refresh_table_display( ) .
endif .
【讨论】:
【参考方案2】:我在应用程序中做了类似的事情,在保存时需要刷新,因为某些计算必须在屏幕中更改。我在'REUSE_ALV_GRID_DISPLAY'功能模块的命令表单中设置了以下部分代码。
form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
data: ref_grid type ref to cl_gui_alv_grid, l_valid type c.
if ref_grid is initial.
call function 'GET_GLOBALS_FROM_SLVC_FULLSCR'
importing
e_grid = ref_grid.
endif.
if not ref_grid is initial.
call method ref_grid->check_changed_data
importing
e_valid = l_valid.
endif.
rs_selfield-refresh = 'X'.
...
if not ref_grid is initial.
call method ref_grid->refresh_table_display( ) .
endif.
endform.
希望对你有帮助
【讨论】:
【参考方案3】:您可以通过手动触发 PBO 来实现此目的。您说编辑已保存,因此您可以再次在 PBO 中显示 ALV:
CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'
EXPORTING
functioncode = 'REFRESH'
EXCEPTIONS
function_not_supported = 1
OTHERS = 2.
执行此操作后,PBO 中的sy-ucomm
的值为REFRESH
。
【讨论】:
以上是关于VS保存后Unity不刷新的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Unity 2017.3.1f1和Visual Studio 2017更新脚本?